如何在ASP成员中使用LogOut

cnd*_*cnd 6 .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 >_<
    }
}
Run Code Online (Sandbox Code Playgroud)

如何退出?:P

Zha*_*uid 9

如果您使用标准成员资格提供程序和表单身份验证:

FormsAuthentication.SignOut();
HttpContext.Current.Session.Abandon();
Run Code Online (Sandbox Code Playgroud)

通常是一种享受.

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

编辑以回复评论

我的印象是FormsAuthentication.Signout:

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

而且,由于身份验证票证会话令牌完全分离,并且与会话令牌无关,如果您希望在此时从服务器完全清除用户的所有知识,则调用Session.Abandon是一件好事.我知道将在下一页请求中为他们创建一个新会话 - 我有兴趣看到相反的文档.