ASP.NET Логин / Членство - Как выйти?

Я использую <asp:LoginStatus> контроль (наряду с <asp:Login>)

Я успешно вошел как А.
Тогда я выхожу.
Если я тогда войду как B, текущий пользователь все еще A.
(И то и другое <asp:LoginName> а также HttpContext.Current.User.Identity.Name показывают а)

Я должен очистить куки, чтобы полностью выйти из системы.

Почему контроль входа в систему.NET не выводит меня должным образом? У кого-нибудь есть идеи?

РЕДАКТИРОВАТЬ: Я прошу прощения у всех! Это ошибка Умбрако. Я забыл, что использую UmbracoMembershipProvider

2 ответа

Решение

При выходе из системы, чтобы полностью очистить зарегистрированного пользователя, я бы использовал:

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

Я просто приму ответ Ира, потому что мой вопрос был неправильным.

Это решение ошибки Umbraco:

Добавить журнал в 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)

Другие вопросы по тегам