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.Abandon是一件好事.我知道将在下一页请求中为他们创建一个新会话 – 我有兴趣看到相反的文档.