私はUIWebView
を持っています。このウェブサイトにはユーザー認証があります。サイトは、認証Cookieを作成します。ブラウザでは、クッキーをクリアしない限り、常にログインします.xCODEがロードされると、クッキージャーを見るときにクッキーが表示されますが、WebViewには送信されません。 私はauth cookieがそこにあることをwebViewに知らせる方法を知りたいので、毎回認証のためにユーザにプロンプトを表示し続けることはありません。iOS UIwebView認証Cookie
5
A
答えて
7
NSURLConnectionクラスを使用して、Webサイトにログインし、Cookieを取得するためのHTTP要求を実行できます。リクエストを実行するには、NSURLConnectionのインスタンスを作成し、それにデリゲートオブジェクトを割り当てます。
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]];
NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
次に、デリゲートメソッドを実装します。
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse *HTTPResponse = (NSHTTPURLResponse *)response;
NSDictionary *fields = [HTTPResponse allHeaderFields];
NSString *cookie = [fields valueForKey:"Set-Cookie"]; // It is your cookie
}
クッキー文字列を保持またはコピーします。別のリクエストを実行する場合は、それをNSURLRequestインスタンスのHTTPヘッダーに追加します。
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com/"]];
[request addValue:cookie forHTTPHeaderField:"Cookie"];
あなたは、このメソッドを呼び出すことができますクッキーいつでも削除するには:
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *each in [[[cookieStorage cookiesForURL:YOUR_URL] copy] autorelease]) {
[cookieStorage deleteCookie:each];
}
2
を私は問題を解決しました。この問題は、UIWebViewが標準のWebブラウザと見なされていないため、設定と関係しています。私は.netとIISを通してユーザーを認証しています。私は私のウェブサイトのApp_Browserディレクトリにgeneric.browserファイルを追加しました。ファイルの内容は次のとおりです。
<browsers>
<browser refID="Mozilla" >
<capabilities>
<capability name="cookies" value="true" />
</capabilities>
</browser>
<browser refID="Default">
<capabilities>
<capability name="cookies" value="true" />
</capabilities>
</browser>
</browsers>
問題を修正する行はクッキーを許可機能です。
私が使用したソリューションへの参照は、あなたが共有Cookieの保存を使用して、すべてのWebサイトから認証Cookieを読み取ることができ、この
4
ました。
NSHTTPCookie *cookie;
NSHTTPCookieStorage *cookieJar = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [cookieJar cookies])
{
NSLog(@"%@", cookie);
}
やサイト
NSArray *cookiesForURL = [cookieJar cookiesForURL: [NSURL URLWithString: **MYURL**]];
for (cookie in cookiesForURL)
{
if([cookie.name compare:@".ASPXAUTH"] == NSOrderedSame)
{
NSLog(@"%@", cookie);
break;
}
}
関連する問題
- 1. UIWebViewのクライアント証明書認証iOS
- 2. iOS UIWebViewとCookieのストレージ
- 3. IOS UIWebViewリクエストにCookieの値を追加
- 4. アカウントマネージャ+ Cookieベース認証
- 5. CakePHPの認証Cookie
- 6. トークン認証とCookie
- 7. ASP.NET認証Cookie(ウェブファーム)
- 8. Cookie認証Asp.Netコア
- 9. Asp.netコア永続認証 - カスタムCookie認証
- 10. 私は、ユーザーを認証のUIWebViewを持っているクッキーのUIWebViewのiOS Xamarin
- 11. Cookieベースの認証を使用するサーバーからのiOSストリームオーディオ
- 12. Umbraco Web API - Cookie認証
- 13. UIWebViewウィンドウ認証が迅速なプログラミング
- 14. Phonegap上のCookieベースの認証
- 15. Asp.Net MVC 6 Cookie認証 - 認証が失敗します
- 16. OWIN認証Cookieが実際に認証する方法
- 17. サブドメインのGoogle認証とCookie認証付きAsp.Netコア2
- 18. IOS https認証
- 19. iOS認証プロセス
- 20. 認証Cookieの有効期限
- 21. 認証Cookieを削除する方法
- 22. フォーム認証Cookie - なぜSSLですか?
- 23. Ember.js RailsとのセッションCookieベースの認証
- 24. Cookie認証と複数のドメイン
- 25. アイデンティティパスワードを使用しないCookie認証
- 26. サブドメイン間のCookieベースの認証
- 27. ASP.NETコアでのCookieによる認証
- 28. MVCコア2.0 Cookie認証LoginPathオプション
- 29. Cookieベースの認証を保護する
- 30. フォーム認証 - Cookieリプレイ攻撃 - 保護
の.NET aspxauthクッキーを取得するには、[OK]、私はXcodeのに新たなんだと私はこのことについて質問があります。あまりにもシンプルであれば、私の名前を呼んでも構いません。 AppDelegate.mファイルでは、NSURLとNSURLConnectionを宣言しようとしていて、それらの定数ではないコンパイラエラーが発生しました。私はAppDelagate.mでデリゲートを実装してコンパイルしました。 NSMutable私はどのような方法が必要なのか分からない。私はこれが簡単な質問だと確信していますが、私は本当に分かりません。 – Hector