【问题标题】:log out clears Remember_me Cookie in Grails注销会清除 Grails 中的 Remember_me Cookie
【发布时间】:2019-07-31 23:13:29
【问题描述】:

我正在尝试在 grails 中启用“remember_me”功能。我正在为 grails 使用最新版本的 Spring-security 插件。 我尝试了很多场景,但 Remember_me 功能不起作用。我可以确认 cookie 已正确创建,但每次我注销时都会删除,我想这是该功能不起作用的主要原因。 这是我在 resource.groovy 中的配置:

grails.plugin.springsecurity.rememberMe.alwaysRemember = true
grails.plugin.springsecurity.rememberMe.key = 'admin'
grails.plugin.springsecurity.rememberMe.cookieName = 'grails_remember_me'
grails.plugin.springsecurity.rememberMe.tokenValiditySeconds = 360000

grails.plugin.springsecurity.providerNames = [
        'rememberMeAuthenticationProvider',  'daoAuthenticationProvider']

grails.plugin.springsecurity.logout.handlerNames =
        ['rememberMeServices',
         'securityContextLogoutHandler']

有人能解决我的问题吗?非常感谢您的帮助!

【问题讨论】:

  • 不应该注销吗?我相信记住我的功能是在会话超时后使用的,而不是显式注销。

标签: grails spring-security remember-me


【解决方案1】:

在“记住我”功能中,用户登录后,即使会话过期,用户仍可以从同一台机器访问其所有数据。 在用户注销之前才能进行此访问。

只需将<input name="_spring_security_remember_me" type="hidden" value="true"/> 添加到您的登录表单即可。

请查看this 文档了解更多详情

【讨论】:

  • 我正在使用默认表单...我没有任何 gsp 可以修改 .... grails 和 spring security 处理所有 gsp 和登录相关的东西...当我检查表单时,隐藏的输入就在那里...
  • 听起来您的“记住我”正在按预期工作。等待会话超时(为测试设置低),然后返回到您的应用程序。 (不要注销。)确认您不必重新登录。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-04
  • 2015-11-13
  • 1970-01-01
  • 2019-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多