单击“注销”时的会话到期时间

时间:2012-05-25 05:53:55

标签: c# session

我正在使用登录页面(使用c#,visual studio 2008)。用户必须输入姓名和密码。

单击Login后,它将重定向到主页..现在,如果我单击Logout,它将重定向到Log in Page。到现在为止一切都很好。

我的问题是,此时(退出后)如果我按Back button它再次将我带到主页。但是,我想在此处收到一条消息说

You are already logged out. Please Login again

它不应该允许我访问主页。

怎么做......?

3 个答案:

答案 0 :(得分:1)

在所有应用程序页面的标题中检查会话状态。我通常使用$_SESSION['password']变量,因为如果会话有效,则始终存在密码。这是代码的样子:

<%
    if(!Session['password']) {
        Response.Write("<script>location.replace('login.aspx?error=loggedOut')</script>")
    }
%>

答案 1 :(得分:1)

您可以在登录页面上处理onbeforeunload JS事件并阻止主页显示吗?

http://www.4guysfromrolla.com/demos/OnBeforeUnloadDemo1.htm

答案 2 :(得分:1)

使用此代码:

protected void logout_OnClick(object sender, EventArgs e)
{
Session.Abandon();
Response.Redirect("login.aspx");
}

protected void Page_Init(object sender, EventArgs e)
{
Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();
}