【问题标题】:Session not expiring after logout注销后会话未过期
【发布时间】:2013-10-03 11:02:47
【问题描述】:

当用户登录时,我将用户名和密码存储在会话中。注销后,当我按下浏览器的后退按钮时,它再次进入用户的主页。我希望会话必须过期,以便在用户按下后退按钮注销后,他会被重定向到登录页面。

我已经试过了

Session.RemoveAll();
Session.Abandon();
Session.Remove("StoreUser");

StoreUser 是包含用户名和密码的会话名称。

【问题讨论】:

  • 您可以在用户主页的页面加载事件上编写一个方法,并在该方法中检查是否存在会话值,然后将其重定向到注销页面
  • 您在登录时正在检查会话值
  • 您使用的是 mvc 还是 webforms,您是否使用了 formauth?

标签: c# asp.net session-state


【解决方案1】:

当你的注销按钮点击事件时使用FormsAuthentication.SignOut,看下面的代码

public void LogoutLink_OnClick(object sender, EventArgs args)
{
  FormsAuthentication.SignOut();
  FormsAuthentication.RedirectToLoginPage();
}

并查看之前的有用讨论:ASP.NET authentication login and logout with browser back button

【讨论】:

    【解决方案2】:

    我用FormsAuthentication.SignOut();

    在我的 web 应用程序的另一个地方,当用户登录时,我的 WebForm 上有这个:

    <asp:LoginStatus ID="LoginStatus1" LogoutImageUrl="~/Img/Logout.png" 
        BackColor="Transparent" runat="server" onloggingout="LoginStatus1_LoggingOut" />
    

    这在后面的代码中:

    protected void LoginStatus1_LoggingOut(object sender, LoginCancelEventArgs e)
    {
        MembershipUser u = Membership.GetUser(HttpContext.Current.User.Identity.Name);
        u.LastActivityDate = DateTime.Now.AddMinutes(-Membership.UserIsOnlineTimeWindow);
        Membership.UpdateUser(u);
    }
    

    【讨论】:

      【解决方案3】:

      下面的链接可以帮助你 - http://www.codeproject.com/Tips/135121/Browser-back-button-issue-after-logout

      您的会话正在清除,但您的页面缓存正在存储在客户端。你必须处理它。

      【讨论】:

        【解决方案4】:
        ## IN Global.asax file you have to clear all the session in Session_end event ##
        clear all the session in this event.
        
             protected void Session_End(object sender, EventArgs e)
        {
        // Code that runs when a session ends.
        // Note: The Session_End event is raised only when the sessionstate mode
        // is set to InProc in the Web.config file. If session mode is set to StateServer
        // or SQLServer, the event is not raised.
        
        }
        

        【讨论】:

          猜你喜欢
          • 2018-03-01
          • 2015-03-30
          • 1970-01-01
          • 2015-04-12
          • 1970-01-01
          • 2020-04-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多