|
|
1
3
|
|
|
2
2
我认为您的问题是因为表单身份验证和会话是两个不同的东西,并且没有相互连接:它们(通常)都使用cookie,但是表单身份验证将加密的登录用户直接存储在cookie中,而会话在进程中存储信息(即使您可以更改此行为),并使用cook带有会话标识符的IE来检索它。 因此,当您的会话信息丢失(或会话过期)时,它实际上不会一直存在(除了用户PC上的无效会话cookie)。另一方面,表单身份验证cookie仍然有效(ASP.NET对其进行解密,并对用户的请求进行身份验证)。 一种可能的解决方案是检测新会话的创建(使用httpsessionstate.is new session MSDN )并注销用户(使用FormsAuthentication)。然后您可以将用户重定向到登录页面。 |