【问题标题】:Forms authentication issue with Chrome on iPhoneiPhone 上 Chrome 的表单身份验证问题
【发布时间】:2013-05-28 15:53:04
【问题描述】:

我有一个使用 .NET Framework 4.0 的 MVC 4 网站,并且已经部署了 Windows Server 2003 IIS,但我在 iPhone(尤其是 Chrome 浏览器)上遇到了表单身份验证问题。

场景

  1. 我在 iPhone 上打开 Chrome 应用程序。
  2. 我访问我的网站并单击登录。我设法使用表单身份验证成功登录我的网站。
  3. 我让网站打开了 5 分钟,什么也没做。
  4. 我回到我的 iPhone 并单击我网站上的链接。我已登出。
  5. 我尝试以与以前相同的方式登录。登录过程不起作用。没有错误,它只是将我带到我的主页(这是它应该在成功登录时执行的操作)。

其他信息

  1. 一般而言,iPhone 上的 Safari 似乎不会遇到此问题,除非...在 Chrome 中出现问题后,Safari 中似乎也出现问题。
  2. 解决方案似乎是清除我所有的缓存/cookie 并在 20 分钟左右后重试。
  3. 我的超时时间实际上设置为 30 分钟,因此 Chrome 应该不会在退出时遇到此问题。
  4. 我研究了这篇文章 (Asp.Net Forms Authentication when using iPhone UIWebView) 并尝试过:-

    (a) web.config 中的 UseCookies 设置

    (b) .browser 配置文件

    (c) web.config 中的 MachineKey

似乎没有什么不同,Chrome 登录似乎只停留一两分钟。

代码

创建表单身份验证cookie的代码如下...

FormsAuthentication.Initialize()
Dim fat As FormsAuthenticationTicket = New FormsAuthenticationTicket(1, UserID, DateTime.Now, DateTime.Now.AddMinutes(FormsAuthentication.Timeout.TotalMinutes), False, Roles, FormsAuthentication.FormsCookiePath)
Response.Cookies.Add(New HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)))

关于如何解决此问题的任何建议?

【问题讨论】:

    标签: asp.net-mvc-4 forms-authentication


    【解决方案1】:

    我发现了我的问题 - 这是一个愚蠢的错误。我在 web.config 而不是 Forms 部分的 SessionState 键中输入了 UseCookies。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-08
      • 2015-07-02
      • 2013-05-16
      • 1970-01-01
      • 2015-11-10
      • 2017-12-15
      • 1970-01-01
      相关资源
      最近更新 更多