使用PersistentTokenBasedRememberMeServices的CookieTheftException

时间:2009-09-30 22:02:07

标签: grails spring-security

我在Grails App中使用PersistentTokenBasedRememberMeServices(Spring Security 2.04)和OpenIDAuthenticationProcessingFilter。配置如下(这是Grails's DSL相当于Spring resource.xml但它应该很容易适应):

customTokenRepository(JdbcTokenRepositoryImpl)
{
  dataSource = ref('dataSource')
}

rememberMeServices(PersistentTokenBasedRememberMeServices) {
    userDetailsService = ref('userDetailsService')
    key = securityConf.rememberMeKey
    cookieName = securityConf.cookieName
    alwaysRemember = securityConf.alwaysRemember
    tokenValiditySeconds = securityConf.tokenValiditySeconds
    parameter = securityConf.parameter
    tokenRepository = customTokenRepository
}

openIDAuthProvider(org.codehaus.groovy.grails.plugins.springsecurity.openid.GrailsOpenIdAuthenticationProvider) {
    userDetailsService = ref('userDetailsService')
}

openIDStore(org.openid4java.consumer.InMemoryConsumerAssociationStore)

openIDNonceVerifier(org.openid4java.consumer.InMemoryNonceVerifier, securityConf.openIdNonceMaxSeconds) // 300 seconds

openIDConsumerManager(org.openid4java.consumer.ConsumerManager) {
    nonceVerifier = openIDNonceVerifier
}

openIDConsumer(org.springframework.security.ui.openid.consumers.OpenID4JavaConsumer, openIDConsumerManager)

openIDAuthenticationProcessingFilter(org.springframework.security.ui.openid.OpenIDAuthenticationProcessingFilter) {
    authenticationManager = ref('authenticationManager')
    authenticationFailureUrl = securityConf.authenticationFailureUrl //'/login/authfail?login_error=1' // /spring_security_login?login_error
    defaultTargetUrl = securityConf.defaultTargetUrl // '/'
    filterProcessesUrl = '/j_spring_openid_security_check' // not configurable
    rememberMeServices = ref('rememberMeServices')
    consumer = openIDConsumer
    targetUrlResolver = customTargetUrlResolver
}

用户进行身份验证后,一切正常,直到第一次使用发给他的cookie,例如在容器重启后(参见here)。

使用cookie的第一个请求似乎总是很好但是在使用新日期更新cookie并且最重要的是新令牌之后,后续请求将在here中崩溃。好像浏览器仍然会使用包含旧令牌的旧版cookie请求资源。我完全不知道为什么会这样。有什么建议吗?

0 个答案:

没有答案