我有一个登录页面,该页面在成功验证用户身份后分配了一个登录会话,并且该会话正在整个项目的所有页面中使用。在所有页面中,我都设置了条件
If(Session["login"]) == null)
Response.Redirect("login.aspx");
此外,我还在注销时取消了会话。 但是,此代码不起作用。 单击返回按钮后,应用程序将再次登录。
请任何人都可以帮助我。
答案 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);
}