我们正在尝试在使用表单例份验证的 MVC3 网站上实现 iOS 无线 (OTA) 安装。
安装页面仅对经过身份验证的用户可用。我们还想使用 Forms Authentication 锁定实际的 *.plist 和 *.ipa 文件。这是为了防止有人在知道 url 的情况下尝试直接安装文件。
一旦我们设置了所有安全措施,我们就无法成功安装该应用程序。 iPad 浏览器返回错误:“无法连接到 XXXX.com”。如果我们允许所有用户访问文件所在的文件夹,则安装成功完成。
这就是我们的问题所在。 似乎 OTA 安装请求未在其请求中包含身份验证 cookie。目前,这是我们对正在发生的事情的最佳猜测,因为当我们允许所有用户访问该文件夹时,一切正常。此外,我们检查了 IIS 日志,似乎得出了相同的结论。
这里是相关的日志文件信息:
2012-04-05 20:42:37 XXX.XXX.XXX.XXX 获取/[网站]/[安全文件夹]/[文件].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/[WEBSITE]/login ReturnUrl=%2f[WEBSITE]%2f[SECURED FOLDER]%2f[FILE].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。
为了解决这个问题并仍然具有一定程度的身份验证,我们删除了对安装文件的安全限制。然后,我们将一次性使用验证 key 添加到 OTA 位置的链接。
关于当 plist 文件受表单例份验证保护时,iOS Over The Air 安装失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10036372/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) | Powered by Discuz! X3.4 |