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)