当用户登录时,我们会创建一个记住我的 cookie。登录会将您带到不同的子域。例如:登陆/登录页面:www.mysite.com 主页:www1.mysite.com。登陆/登录页面是 SSL,而主页不是。
如果用户登录然后注销,这会将他们带回登录/登录页面,那么记住我的 cookie 就可以正常工作。但是,如果他们登录然后关闭浏览器(不仅仅是关闭选项卡,而是关闭整个内容),那么 cookie 将被删除。
注意:这不是由于浏览器设置。我们没有在关闭时删除 cookie。
虽然这发生在 IE 和 chrome(不确定 FF)上,但我一直在 Chrome 上进行测试。当我查看 chrome cookie 文件时,我可以看到关闭浏览器时 cookie 没有被删除。相反,它在浏览器打开时被删除,但在我们的任何服务器代码运行之前。我们的客户端代码也不会删除它。
我可以在单个服务器测试环境中重现这一点,并且在 web.config 中设置了 machineKey 验证密钥和解密密钥,因此这似乎不是问题。
环境是 ASP MVC 3。
有任何想法吗?