FormsAuthentication - обработка изменения имени пользователя
Мое веб-приложение ASP.NET MVC позволяет администраторам изменять свои собственные или другие имена пользователей.
Пользователи регистрируются, вызывая FormsAuthentication.SetAuthCookie(userName [string], createPersistentCookie [bool])
. Они выходят из системы, вызывая FormsAuthentication.SignOut()
. Я понимаю, что после обновления имени пользователя мне нужно будет подписать их и снова войти. Но как получить существующее значение createPersistentCookie
? например как сохранить исходную настройку "запомнить меня" при их подписании?
Ответы
Ответ 1
var cookieName = FormsAuthentication.FormsCookieName;
var request = HttpContext.Current.Request;
var cookie = request.Cookies.Get(cookieName);
if (cookie == null)
return;
try
{
var ticket = FormsAuthentication.Decrypt(cookie.Value);
//This should give you what you want...
bool isPersistent = ticket.IsPersistent;
}
catch (Exception ex)
{
//Logging
}