mvc session expire属性未触发

时间:2014-03-19 10:26:29

标签: c# asp.net-mvc iis

我正在尝试使用以下链接实现会话过期属性:

Redirect at Session Timeout in Global.asax in mvc4

我添加了类并将属性添加到控制器方法中。

但是,一旦会话超时,它似乎不会触发属性类。

我知道会话过期,因为我试图在global.acsx文件中实现Session_End并且它已过期并输入代码。

网络配置:

<sessionState compressionEnabled="true" timeout="1" />
<authentication mode="Forms">
  <forms loginUrl="/Index" timeout="1" slidingExpiration="true" />
</authentication>

关于我缺少什么的想法?

1 个答案:

答案 0 :(得分:0)

该会话不是您正在设置的身份验证Cookie到期时间。

表单身份验证cookie存储在.ASPXAUTH中,它具有用户ID,名称,标记和时间属性。验证使用身份验证

会话完全不同。它存储在ASP.NET_SesionId中,它保存服务器上用户的字典对象/容器。

设置会话超时,需要在web.config中的会话密钥中设置超时

<sessionState mode="InProc" customProvider="DefaultSessionProvider" TimeOut="1">

这将在1分钟内使服务器上的会话对象失效。

希望它有意义。有关更多信息,请在表格身份验证和会话之间进行谷歌差异。

问候

shaz