【问题标题】:Remember me cookie is not showing after browser is closed and reopened?还记得我关闭并重新打开浏览器后没有显示 cookie 吗?
【发布时间】:2017-11-15 06:44:16
【问题描述】:

我试图在我的网络应用程序中添加一个记住我的功能。这是我用 Spring 做的配置。

..........
    .rememberMe().rememberMeParameter("remember-me").tokenRepository(tokenRepository)
                .tokenValiditySeconds(86400).and().csrf().and().exceptionHandling().accessDeniedPage("/access_denied");
............

@Bean
public PersistentTokenBasedRememberMeServices getPersistentTokenBasedRememberMeServices() {
    PersistentTokenBasedRememberMeServices tokenBasedservice = new PersistentTokenBasedRememberMeServices(
            "remember-me", userDetailsService, tokenRepository);
    return tokenBasedservice;
}

一旦我登录到应用程序并检查了 cookie,我会看到如下所示的 remember-me cookie,该 cookie 将于明天过期。

但是一旦我关闭浏览器并再次打开,我就会退出应用程序,并且在检查 cookie 时,remember-me cookie 也不会显示。

所以我想知道

  1. 这是记住我功能的正常行为吗?
  2. 我能否在记住我的 cookie 过期之前保持记录?
  3. 为什么重新打开浏览器时,remember-me cookie 会消失?

编辑: 这是 cookie 的浏览器设置

火狐配置:

【问题讨论】:

  • chrome和firefox我都用过
  • 如果您记得我 Cookie 存在(重新启动浏览器之前和之后),您能否查看 Show Cookies...

标签: cookies spring-security spring-java-config remember-me


【解决方案1】:

您必须关闭仅在退出浏览器之前保留本地数据才能保留 cookie,请参阅 Google Chrome Help

关闭 Chrome 后删除 cookie

您可以让网站在您的浏览会话期间记住信息,但在您退出 Chrome 时会自动删除 cookie。

  1. 在您的计算机上,打开 Google Chrome。
  2. 点击右上角的更多更多,然后点击设置
  3. 点击底部的高级
  4. 在“隐私和安全”下,点击内容设置
  5. 点击Cookies
  6. 开启仅保留本地数据,直到您退出浏览器

【讨论】:

  • 完成此配置后,即使我选中或未选中记住我复选框,浏览器也会让我保持登录状态,直到我注销
  • 在 Firefox 中这不起作用。我已经在问题中添加了配置
  • 还是有问题
  • @sndu:在我执行此配置后,即使我选中或未选中记住我复选框,浏览器也会让我保持登录状态,直到我注销是什么意思?您的意思是关闭浏览器后您仍然登录?在您注销或会话到期之前,您始终处于登录状态。但是,如果您选中了该选项,则应在重新启动浏览器后删除您的会话 cookie。
猜你喜欢
  • 2021-09-30
  • 2014-12-02
  • 1970-01-01
  • 1970-01-01
  • 2017-04-05
  • 2013-07-22
  • 2014-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多