我在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”
答案 0 :(得分:9)
因为IS_AUTHENTICATED_REMEMBERED
与IS_AUTHENTICATED_FULLY
不同,因此仍然提示您的用户使用了Spring安全性的记忆功能,因为IS_AUTHENTICATED_REMEMBERED
与IS_AUTHENTICATED_FULLY
不同。
<强> IS_AUTHENTICATED_REMEMBERED 强> 要求用户通过记住我的cookie或显式登录进行身份验证。
<强> IS_AUTHENTICATED_FULLY 强> 要求用户通过显式登录进行完全身份验证。
所有这些都在写得很好的documentation中列出。
由于您希望允许用户通过记住或登录来访问内容,因此您应该强烈考虑使用{{1}}代替{{1}},因为它支持这两种情况。