仅在移动野生动物园中 ASP.NET 无 Cookie 会话 URL 问题
本文关键字:NET Cookie 会话 问题 URL ASP 移动 动物园 | 更新日期: 2023-09-27 18:36:59
我们托管在AppHarbor上,并使用他们的memcacher插件,按照他们的文档中所述进行设置:
<sessionState cookieless="false" regenerateExpiredSessionId="true" mode="Custom"
customProvider="MemcachedSessionProvider" xdt:Transform="Insert">
<providers>
<add name="MemcachedSessionProvider"
type="MemcachedProviders.Session.SessionStateProvider,MemcachedProviders"
dbType="none" />
</providers>
</sessionState>
我们看到一个只能通过以下方式重现的问题:
- 在 iOS Safari(或 Twitter iPhone 应用程序的内置 webkit 浏览器)中遵循 Twitter 缩短的 URL 以 appfail.net:http://t.co/6tRXopEJ
- 点击我们的"运行演示"按钮,然后使用我们的模拟账户自动登录用户。
此时,服务器发出 302 重定向到无效的 URL,例如:http://appfail.net/(F(FckQ4UX0zD_WSxk_adpkk3YysHsYQS4TSVpljxmswyBqEAZ1q-YhW4KePrpYQfJ4KlLGaiyje_TbpeSARVyI8LioQ7Jp5EIc0Zm9u99IqRRkkoMh_wr-jrsrvje4J7KpUt1n87xEMzMeqHzpMz9ksm42IqNnf3F9B6GBwrnuA5EY_YsV0))/应用
该 URL 似乎包含一个会话 ID,其格式与 IIS 用于无 Cookie 会话的格式相同。 这也是有道理的,因为 IIS 可以配置为使用基于 UserAgent 的无会话 cookie - 因此为什么它只在移动野生动物园中重现(尽管我不确定为什么它只发生在 t.co/重定向中,而不是在直接加载页面时)
奇怪的是 - 我们关闭了无 cookie 会话!正如您在上面的会话状态中看到的那样。我也尝试过使用设置"cookieless="UseCookies"'...没有运气!
我添加了日志记录,甚至验证了系统在运行时配置为"UseCookie"。
所以,我想知道我们如何可能将用户重定向到无 cookie URL,仅使用 RedirectToAction()?
我想知道这是否与自定义会话状态提供程序 - MemcachedProvider 有关?还是更基本的东西?
谢谢山 姆
可能是由于客户端功能检测 ASP.NET 错误,请检查此问题: 使用iPhone UIWebView时 Asp.Net 表单身份验证
Microsoft 2011 年 9 月发布了一个修补程序,它解决了我在 Windows 8 预览版中使用 IE10 时遇到的类似问题。