如何在ASP成员中使用LogOut

时间:2010-03-03 08:03:48

标签: .net asp.net

protected void Button2_Click(object sender, System.EventArgs e) //logout
{
    if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
    {
        System.Web.HttpContext.Current.Session.Abandon(); // it isn't logout >_<
    }
}

如何退出? :P

2 个答案:

答案 0 :(得分:9)

如果您使用的是标准会员提供商和表单身份验证:

FormsAuthentication.SignOut();
HttpContext.Current.Session.Abandon();

通常是一种享受。

请注意,如果用户在浏览器中按下,他们可能会看到缓存(登录)版本。

编辑以回复评论

我的印象是FormsAuthentication.Signout

  

从浏览器中删除表单身份验证票证。

由于身份验证票据完全独立于会话令牌,因此如果您希望从服务器处完全清除用户的所有相关知识,那么那一点,调用Session.Abandon是一件好事。我知道将在下一页请求中为他们创建一个新会话 - 我有兴趣看到相反的文档。

答案 1 :(得分:1)

FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();

这应该注销用户并将他带到登录页面。