【问题标题】:Persistent cookie not acting very persistent持久性 cookie 的作用不是很持久
【发布时间】: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


【解决方案1】:

最后,正如 Slicksim 在 2013 年 2 月 7 日的评论中所指出的那样,我还必须指定 cookie 的过期时间。

【讨论】:

    猜你喜欢
    • 2015-05-20
    • 1970-01-01
    • 2011-04-21
    • 2014-03-25
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    相关资源
    最近更新 更多