ASP.NET登录/成员资格 - 如何注销?

时间:2011-10-20 06:28:55

标签: asp.net login asp.net-membership umbraco login-control

我正在使用<asp:LoginStatus>控件(以及<asp:Login>

我以 A 成功登录。
然后我退出。
如果我以 B 登录,则当前用户仍然 A <asp:LoginName>HttpContext.Current.User.Identity.Name都显示 A

我必须清除cookie才能完全注销。

为什么.NET登录控件没有正确登出?任何人都有任何想法?

编辑:我向大家道歉!这是一个 Umbraco错误。我忘了我在使用UmbracoMembershipProvider

2 个答案:

答案 0 :(得分:17)

注销以完全清除我将使用的登录用户:

Session.Clear()
Session.Abandon()
FormsAuthentication.SignOut()
FormsAuthentication.RedirectToLoginPage()

答案 1 :(得分:2)

我接受艾拉的答案,因为我的问题是错的。

这是Umbraco错误的解决方案:

将一个onlogout添加到LoginStatus

<asp:LoginStatus ... onloggedout="UmbracoLogout" />

手动清除缓存

  protected void UmbracoLogout(object sender, EventArgs e)
  {
    Member.RemoveMemberFromCache(Member.CurrentMemberId());
    Member.ClearMemberFromClient(Member.CurrentMemberId());
  }

(来自http://our.umbraco.org/projects/website-utilities/nforum/bugs/18405-Cache-problem

相关问题