登录会话不会无效

时间:2020-04-04 14:19:01

标签: asp.net

我有一个登录页面,该页面在成功验证用户身份后分配了一个登录会话,并且该会话正在整个项目的所有页面中使用。在所有页面中,我都设置了条件

If(Session["login"]) == null)
    Response.Redirect("login.aspx");

此外,我还在注销时取消了会话。 但是,此代码不起作用。 单击返回按钮后,应用程序将再次登录。

请任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

在每页的页面加载中添加它。

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (Session["login"] == null)
                Response.Redirect("Login.aspx");
            else
            {
                Response.ClearHeaders();
                Response.AddHeader("Cache-Control", "no-cache, no-store, max-age=0, must-revalidate");
                Response.AddHeader("Pragma", "no-cache");
            }
        }
    }

有关更多详细信息,请转到链接 disable browser's back button functionality on logout in ASP.Net

在注销按钮上,点击添加

protected void btnLogout_Click(object sender, EventArgs e)
    {
        Session.Abandon();
        Session["login"] = null;
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.Buffer = true;
        Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d);
        Response.Expires = -1000;
        Response.CacheControl = "no-cache";
        Response.Redirect("Login.aspx", true);
    }