人们报告在我们的ASP.NET网站之一登录时遇到了问题。当我检查IIS日志时,看起来他们登录后浏览器中的FormsAuthentication cookie没有被缓存。
我认为这不是简单地“用户设置了浏览器不接受cookie”,因为: a)如果总体上cookies对于他们的浏览器不起作用,他们根本无法完成整个流程 - 例如,ASP.NET会话cookie似乎正常工作。 b)这些通常不是那种甚至知道如何关闭cookie的用户。
所以我认为必须是其他原因。除了用户简单地设置其浏览器拒绝cookie之外,什么问题会导致ASP.NET FormsAuthentication cookie停止工作?
编辑:例如,回答另一个问题表明有时会丢弃FormsAuthentication Cookies,因为它们太大了 - 或许有人可以阐明一下?
编辑:我们其中一个站点的FormsAuthentication cookie大小为233字节 - 这有点大吗?可以使它更小吗?也许这会有所帮助。
编辑:我注意到代码使用
我认为这不是简单地“用户设置了浏览器不接受cookie”,因为: a)如果总体上cookies对于他们的浏览器不起作用,他们根本无法完成整个流程 - 例如,ASP.NET会话cookie似乎正常工作。 b)这些通常不是那种甚至知道如何关闭cookie的用户。
所以我认为必须是其他原因。除了用户简单地设置其浏览器拒绝cookie之外,什么问题会导致ASP.NET FormsAuthentication cookie停止工作?
编辑:例如,回答另一个问题表明有时会丢弃FormsAuthentication Cookies,因为它们太大了 - 或许有人可以阐明一下?
编辑:我们其中一个站点的FormsAuthentication cookie大小为233字节 - 这有点大吗?可以使它更小吗?也许这会有所帮助。
编辑:我注意到代码使用
FormsAuthentication.SetAuthCookie()
和Response.Redirect()
而不是FormsAuthentication.RedirectFromLoginPage()
- 这可能有关吗?