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
如果您使用标准成员资格提供程序和表单身份验证:
FormsAuthentication.SignOut();
HttpContext.Current.Session.Abandon();
Run Code Online (Sandbox Code Playgroud)
通常是一种享受.
请注意,如果用户在浏览器中按下,他们可能会看到缓存(登录)版本.
编辑以回复评论
我的印象是FormsAuthentication.Signout:
从浏览器中删除表单身份验证票证.
而且,由于身份验证票证与会话令牌完全分离,并且与会话令牌无关,如果您希望在此时从服务器完全清除用户的所有知识,则调用Session.Abandon是一件好事.我知道将在下一页请求中为他们创建一个新会话 - 我有兴趣看到相反的文档.
| 归档时间: |
|
| 查看次数: |
6371 次 |
| 最近记录: |