持久cookie不是非常持久的

时间:2013-02-06 19:01:11

标签: asp.net-mvc cookies asp.net-membership

我已经实施了自定义会员提供商,现在我希望为我的用户提供让网站记住它们的选项,这样他们就不必每次访问都会登录。

我已经将我的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调试器验证。

我在这里做了一些明显的错误吗?

1 个答案:

答案 0 :(得分:0)

最终我发现我必须指定cookie的过期时间,正如2月7日Slicksim的评论所指出的那样。