.net - 如何注销 ASP 成员(member)资格

标签 .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

最佳答案

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

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/

相关文章:

asp.net - System.Web.UI.ViewStateException ,无效的 View 状态

.net - .NET 的 AMQP V1.0 客户端

c# - 为什么我的 WPF TextBox 不显示任何字符?

javascript - 从 html View 中的 onchange 事件调用 Controller 函数

c# - 从 .NET : the ‘return null’ issue 调用 Java/AXIS Web 服务

c# - 有没有办法从 asp .net web 方法而不是 JSON 格式返回 ISO 格式的 DateTime?

c# - 500 - 请求超时

.net - 我应该在 dllimport 中使用 Ansi 还是 Unicode 字符集?

c# - 需要 .Net/C# 分布式锁管理器

.net - 可以全屏运行 VB 应用程序吗?