Grails Spring Security记得我吗

Grails Spring Security记得我吗,grails,spring-security,Grails,Spring Security,我有一个针对RESTAPI的自定义身份验证提供程序,现在想实现记住我的功能 下面是我在Config.groovy中的内容: grails.plugins.springsecurity.providerNames = [ 'zubAuthenticationProvider', 'rememberMeAuthenticationProvider' ] grails.plugins.springsecurity.auth.loginFormUrl="/login" grails.plug

我有一个针对RESTAPI的自定义身份验证提供程序,现在想实现记住我的功能

下面是我在Config.groovy中的内容:

grails.plugins.springsecurity.providerNames = [
   'zubAuthenticationProvider',
   'rememberMeAuthenticationProvider'
]
grails.plugins.springsecurity.auth.loginFormUrl="/login"
grails.plugins.springsecurity.rememberMe.cookieName="example1"
grails.plugins.springsecurity.rememberMe.key="example1"
我看不到peristent cookie在成功登录时实际被设置。我在配置中遗漏了什么吗

**更新** 如果添加以下内容,我可以获得要创建的cookie:

grails.plugins.springsecurity.rememberMe.persistent = true
但是,这只会导致另一个问题,即不使用数据库进行登录存储

提前感谢,,
托德

为了子孙后代的缘故,我要说以下几点--

Config.groovy

grails.plugins.springsecurity.providerNames = [
   'zubAuthenticationProvider',
   'rememberMeAuthenticationProvider'
]

grails.plugins.springsecurity.rememberMe.cookieName="stackoverflow"
grails.plugins.springsecurity.rememberMe.key="_grails_"
grails.plugins.springsecurity.rememberMe.rememberMe.persistent = true
userDetailsService(com.zub.security.EgUserDetailsService) {
   grailsApplication = ref('grailsApplication')
}
tokenRepository(com.zub.security.EgPersistentTokenRepository) {
    grailsApplication = ref('grailsApplication')
}

def conf = SpringSecurityUtils.securityConfig
rememberMeServices(PersistentTokenBasedRememberMeServices) {
    userDetailsService = ref("userDetailsService")
    key = conf.rememberMe.key
    cookieName = conf.rememberMe.cookieName
    alwaysRemember = conf.rememberMe.alwaysRemember
    tokenValiditySeconds = conf.rememberMe.tokenValiditySeconds
    parameter = conf.rememberMe.parameter
    useSecureCookie = conf.rememberMe.useSecureCookie // false

    tokenRepository = ref('tokenRepository')
    seriesLength = conf.rememberMe.persistentToken.seriesLength // 16
    tokenLength = conf.rememberMe.persistentToken.tokenLength // 16
}
conf/spring/resources.groovy

grails.plugins.springsecurity.providerNames = [
   'zubAuthenticationProvider',
   'rememberMeAuthenticationProvider'
]

grails.plugins.springsecurity.rememberMe.cookieName="stackoverflow"
grails.plugins.springsecurity.rememberMe.key="_grails_"
grails.plugins.springsecurity.rememberMe.rememberMe.persistent = true
userDetailsService(com.zub.security.EgUserDetailsService) {
   grailsApplication = ref('grailsApplication')
}
tokenRepository(com.zub.security.EgPersistentTokenRepository) {
    grailsApplication = ref('grailsApplication')
}

def conf = SpringSecurityUtils.securityConfig
rememberMeServices(PersistentTokenBasedRememberMeServices) {
    userDetailsService = ref("userDetailsService")
    key = conf.rememberMe.key
    cookieName = conf.rememberMe.cookieName
    alwaysRemember = conf.rememberMe.alwaysRemember
    tokenValiditySeconds = conf.rememberMe.tokenValiditySeconds
    parameter = conf.rememberMe.parameter
    useSecureCookie = conf.rememberMe.useSecureCookie // false

    tokenRepository = ref('tokenRepository')
    seriesLength = conf.rememberMe.persistentToken.seriesLength // 16
    tokenLength = conf.rememberMe.persistentToken.tokenLength // 16
}

EgPersistentTokenRepository基于GormPersistentTokenRepository,但已更新为对CRUD功能而不是GORM进行REST调用。

可能没有设置cookie,因为令牌repo在以下情况下为“InMemoryTokenRepositoryImpl”!conf.rememberMe.persistent?grails.plugins.springsecurity.rememberMe.rememberMe.persistent=true这是打字错误:“…rememberMe.rememberMe…”?