UIWebView не сохраняет аутентификацию на iOS3.2 / iOS4 - PullRequest
1 голос
/ 28 июля 2010

Я сделал приложение, которое использует UIWebView для отображения сайта, который использует базовую аутентификацию.Он перестал отображать контент с iOS3.2 (как на iPhone, так и на iPad).

Мой подход к аутентификации пользователей заключается в следующем:

  1. создать NSURLConnection
  2. реализовать didReceiveAuthenticationChallengeпредоставить учетные данные
  3. , чтобы реализовать didReceiveResponse для получения ответа и загрузки запроса в UIWebView, т. е. [webView loadRequest:]

Начиная с iOS3.2 аутентификация была нарушена;UIWebView, похоже, больше не проверяет общее хранилище учетных данных.

Для iOS4 на iPhone мне удалось обойти эту проблему, тупо включив информацию для входа в систему в URL (то есть https://username:password@www.somesite.com) к первоначальному запросу загрузки, переданному в webView.

Для iOS3.2 на iPad этого недостаточно. Первоначальный запрос аутентифицирован, но последующие вызовы все еще не аутентифицированы.

Есть предложения?

1 Ответ

0 голосов
/ 01 апреля 2011

Использование setDefaultCredential:forProtectionSpace: на общем NSURLCredentialStorage WebView по-прежнему использует учетные данные по умолчанию, он не работает при использовании setCredential:forProtectionSpace.

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