表单身份验证和会话到期

时间:2012-11-14 18:19:12

标签: c# .net forms-authentication

我有一个要求,当用户登录网站和注销时我需要存储。这很简单。问题是有时用户不会注销而只是关闭他们的浏览器。在这种情况下,我想存储其会话过期的日期时间,而不是它们注销的日期时间。问题是这是如何实现的?是否有某些事件被触发或类似的东西我可以用来“捕获”会话到期?

2 个答案:

答案 0 :(得分:1)

在您的global.asax文件中,您可以捕获会话结束。

protected void Session_End(Object sender, EventArgs e)
{
    // log out user
}

如果需要,您可以为用户添加自定义标识符,而不是检查session_end

   void Session_Start(object sender, EventArgs e) 
    {
       // Code that runs when a new session is started
       Session["CustomSessionId"] = Guid.NewGuid();
    }

答案 1 :(得分:1)

如果您不想按GUID进行追踪,您也可以执行以下操作

void Session_Start(object sender, EventArgs e) 
{
   // Code that runs when a new session is started
   var sessionId = Session.SessionID();
}