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
最佳答案
如果您使用标准成员资格提供程序和表单例份验证:
FormsAuthentication.SignOut();
HttpContext.Current.Session.Abandon();
通常是一种享受。
请注意,如果用户在浏览器中按回,他们可能会看到缓存(登录)的版本。
编辑回复评论
我的印象是FormsAuthentication.Signout :
Removes the forms-authentication ticket from the browser.
并且由于身份验证票证与 session token 完全分离且不相关,因此如果您想在那时从服务器中完全清除用户的所有知识,则调用 Session.Abandon 是一件好事。我知道将在下一页请求中为他们创建一个新 session - 我有兴趣查看相反的文档。
关于.net - 如何注销 ASP 成员(member)资格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2369587/