0

私は少し問題に遭遇しました。基本認証を使用するWebサービスに接続していますが、ユーザーにログアウトできるようにするか、要求が行われるたびに新しい認証が行われるようにします。現在、認証はキャッシュされているようです。どうすればよいですか?

最後に追加しようとし#ましたが、うまくいかなかったようです。URLの形式は次のとおりです。

www.example.org/mywebservice/data

NSURL* url = [NSURL URLWithString: @"www.example.org/mywebservice/data"];
NSURLRequest* request = [[NSURLRequest alloc] initWithURL:url];
NSURLConnection* newConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
self.myConnection = newConnection;

[request release];
[newConnection release];
4

3 に答える 3

3

以前のリクエストのキャッシュをクリアし、ログイン時に毎回新しいリクエストを行いたいと思います。そのため、ログインのリクエストを行う前に以下のコードを入力してください

NSHTTPCookie *cookie;
    NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (cookie in [storage cookies]) 
    {
        [storage deleteCookie:cookie];
    }
    [[NSURLCache sharedURLCache] removeAllCachedResponses];

あなたを助けるかもしれません

ハッピーコーディング:)

于 2012-06-19T11:22:52.873 に答える
2

私はそれを機能させました。に変更NSURLCredentialPersistenceSessionしましたNSURLCredentialPersistenceNone

    NSURLCredential *cred = [[[NSURLCredential alloc] initWithUser:user.username password:user.password
                                                       persistence:NSURLCredentialPersistenceNone] autorelease];
于 2012-06-19T11:38:06.277 に答える
0

の認証ヘッダーをクリアしようとしましたNSURLRequestか?

[urlRequest setValue:@"" forHTTPHeaderField:@"Authorization"];
于 2012-06-19T11:05:39.653 に答える