2011-04-22 63 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