2011-04-22 89 views
1

我正在使用諸如「http:// user:[email protected]/stuff.xml」之類的URL進行HTTP請求,並且我注意到正在緩存和使用用戶憑據。如果我嘗試先用無效憑證登錄,則不起作用。但是,如果我使用有效的用戶名/密碼登錄,然後嘗試使用無效的用戶名/密碼重新登錄,它將使用我剛剛使用的有效憑據而不是URL中的內容。在目標c中刪除身份驗證憑證

我一直在尋找NSURLCredentialStorage可能會刪除保存的內容,但我需要指定一個NSURLProtectionSpace,我不確定這是什麼。

更新

我所做的設置與設置爲NSURLCredentialPersistenceNone的持久性NSURLCredential的用戶名和密碼didReceiveAuthenticationChallenge委託方法,但似乎委託方法甚至沒有得到所謂的第二次左右。

更新2

好像不管我做什麼,該認證是取得了一些保存。其驗證的域名似乎並未保存在sharedCredentialStorage中。

當我將canAuthenticateAgainstProtectionSpace設置爲false時,它不會使用didReceiveAuthenticationChallenge,但auth憑證(它是url的一部分而不是挑戰響應)仍然被緩存!

這個看似直截了當的問題並不是直接的,而且令人非常沮喪。可能所有這些都是一個錯誤?

回答

1

憑證通常存儲爲Cookie;嘗試刪除所有存儲的Cookie。

+0

謝謝!就是這樣。 – AdamB 2011-04-22 21:40:11