当 plist 文件受表单例份验证保护时,iOS 无线安装失败

标签 ios asp.net-mvc-3 forms-authentication

我们正在尝试在使用表单例份验证的 MVC3 网站上实现 iOS 无线 (OTA) 安装。

安装页面仅对经过身份验证的用户可用。我们还希望使用表单例份验证锁定实际的 *.plist 和 *.ipa 文件。这是为了防止有人在知道 URL 的情况下尝试直接安装该文件。

一旦我们落实了所有安全措施,我们就无法成功安装该应用程序。 iPad 浏览器返回错误:“无法连接到 XXXX.com”。如果我们允许所有用户访问文件所在的文件夹,安装就会成功完成。

这就是我们的问题所在。 OTA 安装请求似乎在其请求中未包含身份验证 cookie。目前,这是我们对正在发生的情况的最佳猜测,因为当我们允许所有用户访问该文件夹时,一切正常。另外,我们检查了 IIS 日志,似乎也得出了相同的结论。

以下是相关日志文件信息:

2012-04-05 20:42:37 XXX.XXX.XXX.XXX GET/[网站]/[安全文件夹]/[文件].plist - 80 - XXX.XXX.XXX.XXX iTunes-iPad- M/5.0.1+(32GB) 302 0 0 46

2012-04-05 20:42:37 XXX.XXX.XXX.XXX GET/[网站]/login ReturnUrl=%2f[网站]%2f[安全文件夹]%2f[文件].plist 80 - XXX .XXX.XXX.XXX iTunes-iPad-M/5.0.1+(32GB) 200 0 0 15

我们对日志文件的解释是,对 /[WEBSITE]/[SECURED FOLDER]/[FILE].plist 的请求被拒绝,并返回 302。记录的下一个请求是应用程序的登录页面,其中 plist 文件的路径作为返回 URL:/[WEBSITE]/login ReturnUrl=%2f[WEBSITE]%2f[SECURED FOLDER]%2f[FILE]。列表

关于我们如何克服这个问题有什么想法吗?

最佳答案

最终,我们的怀疑是正确的。 OTA 安装请求的请求中不包含身份验证 cookie。

为了解决这个问题并仍然具有一定程度的身份验证,我们删除了对安装文件的安全限制。然后,我们向 OTA 位置的链接添加了一次性使用验证 key 。

关于当 plist 文件受表单例份验证保护时,iOS 无线安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036372/

相关文章:

ios - 如何在iphone静态库中包含资源?

ios - 使用 Storyboard和导航 Controller 检测 MPMoviePlayerController 上的点击

asp.net-mvc-3 - 从客户端检测到潜在危险的 Request.Form 值 (wresult ="<trust:RequestSecuri...")

c# - 无法使用 FormsAuthentication.SignOut() 从 ASP.NET MVC 应用程序注销

ios - 使用cocos2d定位

ios - 将数据从 uiview 传递到 uiviewcontroller

c# - 在 ASP.Net MVC3 中使用 HtmlHelper 和分页呈现 View

c# - MVC 验证低于/高于其他值

c# - FormsAuthentication RedirectToLoginPage 怪癖

asp.net-mvc - 以编程方式在 IIS 中启用或禁用匿名身份验证