我正在使用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);
我正在使用表单身份验证。我在CustomAuthorizeAttribute类中检查了身份验证,该类实现了'AuthorizeAttribute'接口。
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");
}
}
}
但这就像我的流程没有处理'记住我'选项。当我登录时选择“记住我”选项,然后关闭并重新打开浏览器,再次请求登录。
答案 0 :(得分:0)
persistanceFlag的值是多少,这应该是真的。
这会改变吗?