2011-12-15 24 views
3

私はカスタム認証プロバイダがREST APIに対して働いており、今度はRemember Me機能を実装したいと考えています。Grails Spring Security Remember Me

は、ここで私は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クッキーを参照することはできません。私は設定で何かを逃していますか?

** UPDATE ** 私が追加した場合、私はクッキーが作成されるように得ることができます。

grails.plugins.springsecurity.rememberMe.persistent = true 

しかし、ちょうどログインストレージ用のデータベースを使用していないという別の問題につながること。後世の日本酒のために事前に

おかげで、 トッド

+0

!conf.rememberMe.persistentの場合、トークンレポが "InMemoryTokenRepositoryImpl"なので、おそらくクッキーが設定されていませんか? –

答えて

3

は、私がfollowing--

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 

のconf /春/リソースと行きますよ。グルービー

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に基づいていますが、GORMではなくCRUD機能のためにRESTが呼び出されるように更新されています。

+0

grails.plugins.springsecurity.rememberMe.rememberMe.persistent = true これは誤植ですか: "... rememberMe.rememberMe ..."? – Mexx

関連する問題