每当我点击退出按钮时,它都会将我重定向到登录页面,但是当我点击后退按钮时,它会将我重定向到上次访问的页面。我没有使用会员资格或Windows身份验证。
Session.Abandon();
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Redirect("LoginForm.aspx");
答案 0 :(得分:1)
如果您正在使用会话,则在注销按钮单击时销毁会话值 你可以把这样的支票放在你的应用程序网页
中if(Session["sessionvaribale"].Equals(null))
{
Response.Redirect("logoutpage url");
}
答案 1 :(得分:0)
你使用什么样的身份验证呢?
在c#中,使用表单身份验证注销的代码为:
// body of function
FormsAuthentication.SignOut();
HttpContext.Current.Response.Redirect("Login.aspx", true);
答案 2 :(得分:0)
其中一个原因是浏览器正在缓存页面并从那里加载。如果您在注销后不想在任何情况下看到任何页面,请对所有页面使用no-cache
答案 3 :(得分:0)
如果您正在使用FormsAuthentication,您可能也想使用其方法注销。
Session.Abandon();
FormsAuthentication.SignOut();
Response.Redirect("index.aspx");
清除缓存在所有浏览器中都不起作用,我在实验中发现用户可以在注销后返回上一页。因此,一旦他退出,您可能希望使用JavaScript来阻止用户返回。
下面的文章概述了同样的事情:
它可以跨浏览器工作。
除此之外,您可能需要查看以下帖子,这也有效:
答案 4 :(得分:0)
首先使会话为空
Session.Abandon();
Session.RemoveAll()
Session.Clear();
任何一个
然后如果您使用母版页,那么在多页的情况下会更好,
如果session为null,则检查masterpage加载事件,然后转到登录页面
如果您没有使用母版页,那么检查每个页面的会话是否为空