如何结束用户会话并确保用户已注销?

时间:2010-07-29 06:01:48

标签: c# asp.net authentication session logout

我是.aspx的新手,现在问题是因为我正在做一个支持Web的项目,我从用户那里登录。我拖放了登录模板,然后使用了

Session["Authentication"] = username.Tostring();

存储当前登录用户的信息等等。现在我甚至在右上角使用了一个超链接“Logout”,然后将其转移到Login页面。 (如果这是错误的转移方式请告诉我,我通过互联网学习所有内容)..

现在如果在网上运行,我可以轻松登录,但是当我通过超级链接“注销”注销时,它会再次进入“登录”页面,但是如果按下浏览器的后退按钮,它会再次传输控件到数据页面,我可以再次执行数据操作。

我用过这个

Session["Authenticate"] = null

在登录页面的页面加载时,只有在登录按钮单击时,用户才能再次输入

Session["Authenticate"] = username.Tostring();

然后我在数据页的每个页面加载时使用了检查

if(Session[Authentiacte"] == null)
     Server.Tranfer("LoginPage.aspx");

这没有解决我的问题, 请问任何人都可以给出提示或链接或提示以改善我的注销方式吗? 我在没有任何.net或aspx知识的情况下指导了这个项目,我仍在学习所有内容,请不要怀疑 谢谢你提前..

1 个答案:

答案 0 :(得分:8)

HttpContext.Current.Session.Clear();
HttpContext.Current.Session.Abandon();
HttpContext.Current.User = null;
System.Web.Security.FormsAuthentication.SignOut(); // if forms auth is used