【问题标题】:UIWebView does not persist authentication on iOS3.2/iOS4UIWebView 在 iOS3.2/iOS4 上不持久认证
【发布时间】:2010-07-28 01:23:26
【问题描述】:

我制作了一个使用 UIWebView 来显示使用基本身份验证的网站的应用程序。它从 iOS3.2 开始停止显示内容(在 iPhone 和 iPad 上)。

我对用户进行身份验证的方法是:

  1. 创建一个 NSURLConnection
  2. 实现 didReceiveAuthenticationChallenge 以提供凭据
  3. 实现 didReceiveResponse 接收响应并在 UIWebView 中加载请求,即 [webView loadRequest:]

从iOS3.2开始,认证就失效了; UIWebView 似乎不再检查共享凭证存储。

对于 iPhone 上的 iOS4,我设法通过愚蠢地解决此问题,将 URL 中的登录信息(即https://username:password@www.somesite.com)包含在传递给 webView 的初始加载请求中。

对于 iPad 上的 iOS3.2,这还不够。最初的请求已经通过了认证,但是后续的调用仍然没有通过认证。

有什么建议吗?

【问题讨论】:

标签: iphone authentication ipad uiwebview


【解决方案1】:

使用setDefaultCredential:forProtectionSpace: 在共享NSURLCredentialStorage Webview仍然使用默认凭据,当您使用setCredential:forProtectionSpace时它不起作用。

【讨论】:

    猜你喜欢
    • 2015-05-20
    • 2014-05-15
    • 2021-04-24
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-29
    • 1970-01-01
    • 2012-05-08
    相关资源
    最近更新 更多