【问题标题】:How to end the user session and make sure that the user is logged out?如何结束用户会话并确保用户已注销?
【发布时间】:2011-03-22 13:12:36
【问题描述】:

我是 .aspx 的新手,现在的问题是因为我正在做一个启用 Web 的项目,所以我有一个用户的登录信息。我拖放登录模板,然后使用

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

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

现在,如果在运行网络时,我可以轻松登录,但是当我通过超链接“注销”注销时,它会再次将我带到登录页面,但如果我按下浏览器的后退按钮,它会再次转移控制权到数据页,我又可以进行数据操作了。

我用过这个

Session["Authenticate"] = null

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

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

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

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

这并没有解决我的问题, 请任何人都可以提供提示或链接或提示以改进我的注销方式吗? 我在不了解 .net 或 aspx 的情况下策划了这个项目,但我仍在学习一切,请说出我的疑问 提前谢谢..

【问题讨论】:

    标签: c# asp.net authentication session logout


    【解决方案1】:
    HttpContext.Current.Session.Clear();
    HttpContext.Current.Session.Abandon();
    HttpContext.Current.User = null;
    System.Web.Security.FormsAuthentication.SignOut(); // if forms auth is used
    

    【讨论】:

    • 应该在哪里使用这个?我的意思是在登录页面上?因为我的注销是一个超链接
    • @Nagaraj:创建一个Logout.aspx(链接应该指向的位置)并将此调用添加到Page_Load(object,EventArgs)OnLoad()
    猜你喜欢
    • 2014-10-30
    • 2011-05-23
    • 2016-04-27
    • 1970-01-01
    • 2020-11-20
    • 2023-04-10
    • 2012-03-14
    • 2021-04-22
    • 1970-01-01
    相关资源
    最近更新 更多