表单身份验证超时日志记录

时间:2011-10-17 17:24:02

标签: asp.net asp.net-mvc session session-timeout form-authentication

我想检测asp.net表单身份验证票证何时到期。然后,我想将由于不活动而注销的用户登录到服务器。验证票证到期时是否有在服务器上触发的事件?

<sessionState mode="InProc" timeout="5"></sessionState>
<authentication mode="Forms">
  <forms loginUrl="~/Home/AccessDenied" timeout="5" />
</authentication>

在全局asax文件中,我尝试了Session_OnEnd()。但context.user对象为null。当我调用membership.getuser()时,它也返回null。我已经尝试在auth之前进行会话超时但这没有帮助。我使用的是mvc3和ii7.5。

1 个答案:

答案 0 :(得分:3)

会话和表单身份验证有两个完全独立的超时。 在此处查看我的帖子:

How can I handle forms authentication timeout exceptions in ASP.NET?

在Application_PreRequestHandlerExecute中,您需要检查故障单。

同样确定您的会话和表单身份验证超时使用我在那里发布的代码同步。不只是说两个都说60分钟。由于表单身份验证不会更新“触摸”时间,直到一半时间过去,并且会话时间在每次请求时更新,它们都会失去同步。