Spring-security记住我的功能不起作用

时间:2014-06-12 13:36:32

标签: grails spring-security

我在config.groovy

中写下面给出的代码
grails.plugins.springsecurity.providerNames = [
    'rememberMeAuthenticationProvider'
]

grails.plugin.springsecurity.rememberMe.cookieName='grails_remember_me'
grails.plugin.springsecurity.rememberMe.alwaysRemember=false
grails.plugin.springsecurity.rememberMe.tokenValiditySeconds=31*24*60*60
grails.plugin.springsecurity.rememberMe.parameter='_spring_security_remember_me'
grails.plugin.springsecurity.rememberMe.key='monitoringApp' 
grails.plugin.springsecurity.rememberMe.useSecureCookie=false
grails.plugin.springsecurity.rememberMe.persistent=false
grails.plugin.databasemigration.updateOnStart = true

我在gsp页面上写下面给出的代码

<div class="col-xs-7">
<div class="checkbox">
<label>
<input type='checkbox' name='_spring_security_remember_me' id='remember_me'
<g:if test='${hasCookie}'>checked='checked'</g:if>/>
<g:message code="springSecurity.login.remember.me.label"/>
</label>
</div>
</div>

我的控制器所有操作都使用spring security @Secured(['IS_AUTHENTICATED_FULLY'])进行了完全身份验证但是我无法使用spring security的优点记住我的功能。请帮助我。

我正在使用grails版本2.3.0和spring security:“spring-security-core:2.0-RC2”

1 个答案:

答案 0 :(得分:9)

因为IS_AUTHENTICATED_REMEMBEREDIS_AUTHENTICATED_FULLY不同,因此仍然提示您的用户使用了Spring安全性的记忆功能,因为IS_AUTHENTICATED_REMEMBEREDIS_AUTHENTICATED_FULLY不同。

<强> IS_AUTHENTICATED_REMEMBERED 要求用户通过记住我的cookie或显式登录进行身份验证

<强> IS_AUTHENTICATED_FULLY 要求用户通过显式登录进行完全身份验证。

所有这些都在写得很好的documentation中列出。

由于您希望允许用户通过记住或登录来访问内容,因此您应该强烈考虑使用{{1}}代替{{1}},因为它支持这两种情况。