【问题标题】:How to check is session expire or logout in asp.net如何在asp.net中检查会话是否过期或注销
【发布时间】:2013-10-07 13:01:27
【问题描述】:

我将如何确定我的登录会话是否已过期或用户已注销。因为我试图在用户会话超时后显示一些消息并重定向到登录页面。我也搜索了它,但没有得到满意的答案。谁能指导我,我需要如何检查。

提前致谢

【问题讨论】:

  • 这可能不是正确的解决方案,但它可以解决。您的应用程序可能有注销按钮,您可以随时检查当前用户是否点击了该按钮,如果他点击了,则用户已注销,否则会话已过期。
  • stackoverflow.com/questions/10480110/… 可能会有所帮助。

标签: c# asp.net session asp.net-3.5


【解决方案1】:

要检查您的登录会话,请更改应用程序设置中的会话超时值。 保持大约 3-5 分钟,以便您可以快速测试它。 在此期间不要执行任何操作,并且在尝试访问您的工具之后。您必须从您的应用程序中注销。

【讨论】:

    【解决方案2】:

    您可以在登录成功时设置一个cookie:

    Response.Cookies.Add(new HttpCookie("login_status", "1"));
    

    当用户按下“注销”时,您要么删除 cookie,要么将其设置为另一个值:

    Response.Cookies.Add(new HttpCookie("login_status", "0"));
    

    那么就很容易签入登录页面的Page_Load事件了:

    HttpCookie loginStatusCookie = Request.Cookies["login_status"];
    if(loginStatusCookie != null && loginStatusCookie.Value == "1")
    {
         //User did not log out explicitly.
         //Display timeout message.
    }
    else
    {
         //User either logged out or it is his/her first visit.
         //Display usual greeting.
    }
    

    【讨论】:

      猜你喜欢
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 2016-11-20
      • 2011-01-05
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      相关资源
      最近更新 更多