如何从asp.net的登录页面注销

时间:2013-07-31 11:35:13

标签: asp.net

每当我点击退出按钮时,它都会将我重定向到登录页面,但是当我点击后退按钮时,它会将我重定向到上次访问的页面。我没有使用会员资格或Windows身份验证。

Session.Abandon();
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Redirect("LoginForm.aspx");

5 个答案:

答案 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来阻止用户返回。

下面的文章概述了同样的事情:

http://www.aspsnippets.com/Blue/Articles/Disable-Browser-Back-Button-Functionality-using-JavaScript.aspx

它可以跨浏览器工作。

除此之外,您可能需要查看以下帖子,这也有效:

https://stackoverflow.com/a/5881175/309395

答案 4 :(得分:0)

退出时单击

首先使会话为空

Session.Abandon();
 Session.RemoveAll()
Session.Clear();

任何一个

然后如果您使用母版页,那么在多页的情况下会更好,

如果session为null,则检查masterpage加载事件,然后转到登录页面

如果您没有使用母版页,那么检查每个页面的会话是否为空