人们报告在登录我们的 ASP.NET 站点之一时遇到问题。当我检查 IIS 日志时,他们的浏览器在登录后似乎没有缓存 FormsAuthentication cookie。
我不认为它像“用户已将浏览器设置为不接受 cookie”那么简单,因为:
a) 如果 cookie 通常不适用于他们的浏览器,他们永远不会在这个过程中达到他们所拥有的程度- 例如,ASP.NET 会话 cookie 似乎工作正常。
b) 这些用户通常不会知道如何关闭 cookie。
所以我认为它必须是别的东西。除了用户简单地将浏览器设置为拒绝 cookie之外,还有哪些问题会导致 ASP.NET FormsAuthentication cookie 停止工作?
编辑:例如这个对另一个问题的回答表明,有时 FormsAuthentication Cookie 会因为太大而被丢弃 - 也许有人可以对此有所了解?
编辑:我们其中一个站点的 FormsAuthentication cookie 是 233 字节 - 是不是有点大?可以做得更小吗?也许这会有所帮助。
编辑:我注意到代码使用FormsAuthentication.SetAuthCookie()
而Response.Redirect()
不是FormsAuthentication.RedirectFromLoginPage()
- 这可能是相关的吗?