【发布时间】:2013-02-06 19:01:11
【问题描述】:
我已经实现了一个自定义会员提供程序,现在我希望为我的用户提供让网站记住他们的选项,这样他们就不必在每次访问时都登录。
我已将我的 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 调试器证明。
我在这里做错了什么吗?
【问题讨论】:
-
您正在设置票证而不是 cookie 的过期时间,您应该同时确保 cookie 不会过期并且票证仍然被视为有效
-
@Slicksim 非常感谢!我会马上解决的。
标签: asp.net-mvc cookies asp.net-membership