我正在使用 asp.net mvc4。在我的登录页面中,我保留了“记住我”选项。但看起来它不起作用。
我像这样保存了我的 authcookie:
var authTicket = new FormsAuthenticationTicket(1, //version
userName, // user name
DateTime.Now, //creation
DateTime.Now.AddMinutes(60), //Expiration
persistanceFlag, //Persistent
usrData); //Saving user data
var encTicket = FormsAuthentication.Encrypt(authTicket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
Response.Cookies.Add(cookie);
我正在使用表单身份验证。我已经检查了实现“AuthorizeAttribute”接口的 CustomAuthorizeAttribute 类中的身份验证。
public class CustomAuthorize : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
// auth failed, redirect to login page
filterContext.Result = new RedirectResult("~/Security/UserAccount/SignIn");
}
}
}
但这就像我的流程没有处理“记住我”选项。当我登录时选择“记住我”选项,然后关闭并重新打开浏览器,它再次要求登录。