【问题标题】:Logout functionality注销功能
【发布时间】:2013-05-10 03:00:07
【问题描述】:

如何在我的页面上实现注销功能,以便将用户重定向到登录页面并且不允许查看上一页?

 FormsAuthentication.SignOut(); is it enough for logout.

【问题讨论】:

    标签: c# asp.net logout


    【解决方案1】:
        /// <summary>
        /// Logs the user out of their forms authentication.
        /// </summary>
        public void SignOut()
        {
            FormsAuthentication.SignOut();
            FormsAuthentication.RedirectToLoginPage();
        }
    

    【讨论】:

    • @user2131469,没问题,很高兴为您提供帮助。
    【解决方案2】:

    您还想在 SignOut 之后删除会话状态。

    FormsAuthentication.SignOut(); 
    
    // Remove all session variables and destroy session
    context.Session.RemoveAll();
    context.Session.Clear();
    context.Session.Abandon();
    

    【讨论】:

    • 个人认为Authentication和session无关,它们可以分开操作,所以对于很多人来说,Session可能不需要清除。我知道这是一种常见的方法。
    • @PaulieWaulie 我同意他们是分开的。但是,注销后删除会话是很常见的方法,您可以在很多开源项目中找到。
    • 我不是在批评,只是提出一个观点供其他人考虑:)。
    • @PaulieWaulie 对不起,我不是这个意思。归根结底,我们只是在这里互相帮助。 ;)
    • 谢谢 Win 和 PaulieWaulie
    【解决方案3】:
    Page_Load (object sender, EventArgs e) {
    if (!User.IsAuthenticated) {
        Response.Redirect("login.aspx");
    }
    

    我也会在母版页中有它。

    【讨论】:

    • 其实 Paulie 的回答比我的更接近正确。
    猜你喜欢
    • 2012-05-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2011-07-29
    • 2023-04-02
    • 2017-09-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多