FormsAuthentication-处理用户名的更改

问题描述

| 我的ASP.NET MVC Web应用程序允许管理员更改自己或其他用户用户名用户通过拨打“ 0”来登录。他们通过拨打
FormsAuthentication.SignOut()
登出。我了解到,更新用户名后,我需要注销并重新登录。但是,如何检索
createPersistentCookie
的现有值?例如重新登录后,如何保留其原始的“记住我”设置?     

解决方法

        
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
}