diff --git a/core/src/main/java/org/springframework/security/config/RememberMeBeanDefinitionParser.java b/core/src/main/java/org/springframework/security/config/RememberMeBeanDefinitionParser.java index 80768d9213..10372d989d 100644 --- a/core/src/main/java/org/springframework/security/config/RememberMeBeanDefinitionParser.java +++ b/core/src/main/java/org/springframework/security/config/RememberMeBeanDefinitionParser.java @@ -84,7 +84,7 @@ public class RememberMeBeanDefinitionParser implements BeanDefinitionParser { tokenRepo = new RuntimeBeanReference(tokenRepository); } else { tokenRepo = new RootBeanDefinition(JdbcTokenRepositoryImpl.class); - ((BeanDefinition)tokenRepo).getPropertyValues().addPropertyValue(ATT_DATA_SOURCE, + ((BeanDefinition)tokenRepo).getPropertyValues().addPropertyValue("dataSource", new RuntimeBeanReference(dataSource)); } services.getPropertyValues().addPropertyValue("tokenRepository", tokenRepo); diff --git a/core/src/test/java/org/springframework/security/config/HttpSecurityBeanDefinitionParserTests.java b/core/src/test/java/org/springframework/security/config/HttpSecurityBeanDefinitionParserTests.java index 9b6e1c76e7..1d5a4f9db0 100644 --- a/core/src/test/java/org/springframework/security/config/HttpSecurityBeanDefinitionParserTests.java +++ b/core/src/test/java/org/springframework/security/config/HttpSecurityBeanDefinitionParserTests.java @@ -349,6 +349,21 @@ public class HttpSecurityBeanDefinitionParserTests { assertTrue(rememberMeServices instanceof PersistentTokenBasedRememberMeServices); } + @Test + public void rememberMeServiceWorksWithDataSourceRef() { + setContext( + "" + + " " + + "" + + " " + + " " + + "" + AUTH_PROVIDER_XML); + Object rememberMeServices = appContext.getBean(BeanIds.REMEMBER_ME_SERVICES); + + assertTrue(rememberMeServices instanceof PersistentTokenBasedRememberMeServices); + } + + @Test public void rememberMeServiceWorksWithExternalServicesImpl() throws Exception { setContext(