我已经实施了自定义会员提供商,现在我希望为我的用户提供让网站记住它们的选项,这样他们就不必每次访问都会登录。
我已经将我的cookie设置为持久性,但它并没有表现得非常持久。当我关闭浏览器并在登录网站后再次打开它需要我再次登录。
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1,
model.UserName,
DateTime.Now,
(model.RememberMe == true ? DateTime.Now.AddDays(7) : DateTime.Now.AddMinutes(60)),
model.RememberMe,
userData);
string encTicket = FormsAuthentication.Encrypt(authTicket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
Response.Cookies.Add(cookie);
return RedirectToAction("Index", "Home");
model.RememberMe在这种情况下是一个值为true的布尔值,由Visual Studio调试器验证。
我在这里做了一些明显的错误吗?
答案 0 :(得分:0)
最终我发现我必须指定cookie的过期时间,正如2月7日Slicksim的评论所指出的那样。