![]() |
1
7
每次应用程序池回收时,ASP都会生成一个新的机器密钥。每小时都有可能发生。 机器密钥用于加密和解密FormsAuthentication cookie。如果它改变了,你浏览器上的cookie就不再有用了。所以系统会把你当作从未登录过。
为自己生成一个密钥 here . |
![]() |
2
1
我没发现密码有什么问题。您使用的浏览器是什么,可能它不识别1年的到期日期?我会用fiddler或类似的工具查看响应头,看看实际发送的是什么。 |
![]() |
3
1
http://support.microsoft.com/kb/910439/ 我猜饼干在票之前就过期了。上面的文章向您展示了调试的方法,以查看是否确实如此。 |
![]() |
4
0
我能看到的唯一一件非标准的事情是,您正在将id.ToString()传递给FormsAuthenticationTicket构造函数。我通常在这个参数中传递用户名。不确定这是否会有所不同,但值得一试。 |
![]() |
5
0
您的应用程序中是否使用了其他可能导致超时的内容? 例如,在进程内会话状态过期时自动注销。 我假设您的Global.asax中也有一些代码来处理经过身份验证的请求? |