Удаление учетных данных аутентификации в цели c - PullRequest
1 голос
/ 22 апреля 2011

Я делаю HTTP-запросы с URL-адресами, такими как "http://user:password@example.com/stuff.xml", и я замечаю, что учетные данные пользователя кэшируются и используются. Если я пытаюсь войти в систему сначала с недействительными учетными данными, это не работает. Но если Я вхожу с действительным именем пользователя / паролем, затем пытаюсь войти снова с неверным именем пользователя / паролем, он использует только что использованные действительные учетные данные, а не то, что в URL.

Я искал NSURLCredentialStorage , чтобы возможно удалить все сохраненное, но мне нужно указать NSURLProtectionSpace , и я не уверен, что это такое.

Обновление :

Я создал didReceiveAuthenticationChallenge метод делегата, который устанавливает имя пользователя и пароль в NSURLCredential с постоянством, установленным на NSURLCredentialPersistenceNone, но кажется, что метод делегата даже не вызывается во второй раз.

Обновление 2 :

Кажется, что независимо от того, что я делаю, аутентификация где-то сохраняется. Домен, против которого он аутентифицируется, не сохраняется в sharedCredentialStorage.

Когда я устанавливаю canAuthenticateAgainstProtectionSpace как false, он не использует didReceiveAuthenticationChallenge, но учетные данные аутентификации (которые являются частью URL, а не ответом на вызов) все же, похоже, кэшируются!

Эта, казалось бы, прямолинейная проблема не оказывается прямой и чрезвычайно расстраивает. Может ли все это быть ошибкой?

1 Ответ

1 голос
/ 23 апреля 2011

учетные данные часто хранятся в виде файлов cookie;Попробуйте удалить все сохраненные куки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...