2010-07-28 6 views
1

기본 인증을 사용하는 사이트를 표시하기 위해 UIWebView를 사용하는 응용 프로그램을 만들었습니다. 아이폰과 아이 패드 모두에서 iOS3.2부터 컨텐츠를 표시하지 않았습니다.UIWebView는 iOS3.2/iOS4에서 인증을 지속하지 않습니다.

사용자 인증에 대한 나의 접근 방식은 다음과 같습니다

  1. 있는 NSURLConnection
  2. didReceiveAuthenticationChallenge가 자격 증명
  3. 이 응답을 수신하고있는 UIWebView에서 요청을로드 didReceiveResponse을 구현 제공하기 위해 구현, 즉 [웹보기 loadRequest를 만들 :]

iOS3.2 이후로 인증이 깨졌습니다. UIWebView 공유 자격 증명 저장소에 대해 더 이상 확인하지 않는 것 같습니다.

iPhone의 iOS4의 경우 webView로 전달되는 초기로드 요청에 대한 URL의 로그인 정보 입력 (예 : https://username:[email protected])을 포함하여이 문제를 해결할 수있었습니다.

iPad의 iOS3.2의 경우 충분하지 않습니다. 초기 요청은 정상적으로 인증되지만 후속 호출은 여전히 ​​인증되지 않습니다.

제안 사항?

+0

호스트 이름이 아니라 호스트와 경로에 대해 인증이 지속되는 것으로 나타났습니다. 따라서 https://www.somesite.com/dir1이 인증되면 https://www.somesite.com/dir1/page1.htm이 인증됩니다. 및 https://www.somesite.com/dir2/page1.htm은 인증되지 않습니다. –

답변

-1

사용 setDefaultCredential:forProtectionSpace : 당신이 setCredential:forProtectionSpace을 사용할 때 웹보기는 여전히 기본 자격 증명을 사용하여 공유 NSURLCredentialStorage 에, 그것은 작동하지 않습니다.

관련 문제