我的ASP.NET MVC Web应用程序允许管理员更改自己或其他用户的用户名。
用户通过致电FormsAuthentication.SetAuthCookie(userName [string], createPersistentCookie [bool])
登录。他们通过致电FormsAuthentication.SignOut()
退出。我知道在更新用户名后我需要将其签名并重新登录。但是,如何检索createPersistentCookie
的现有值?例如如何在签名时保留原来的“记住我”设置?
答案 0 :(得分:8)
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
}