背景:
- AspNet C# 3.5 Web 应用程序
- IIS 7
- 表单认证
- 在web.config
<forms />
中,设置中没有“域” - cookie 名称:.exampleAuth
有时,并且仅在 IE8 中,会话身份验证 cookie 未在浏览器中设置。用户登录后,他可以看到 web 应用程序的 default.aspx 页面,但如果他单击任何地方,他就会断开连接。没有授权cookie。AspNet_SessionId
cookie 创建得很好,作为我们应用程序管理的另一个。
看起来它正在发生,因为我们删除了“域”属性Web.Config
以允许example.com
和example2.net
url 用于 Web 应用程序。
Cookie 是FormsAuthentication.GetAuthCookie(user.Id, true);
像以前一样创建的。
IE7、IE9、FF、Chrome 都可以。IE8 有时(假设 95% 的时间没问题,5% 的用户断开连接)。对于某些用户,关闭 IE8(不刷新 cookie 和缓存)可以解决问题。
还有一件事:如果我们启用 IE8 的“cookie alert popup”,我们可以看到 auth cookie有时会在登录后设置两次。首先是Expiration=Session
,然后是Expiration=Now+1h20
(会话设置为 200 !)