记住 - 我不使用Persistent Tokens

时间:2013-08-15 16:26:29

标签: spring spring-security

我在使用Spring安全性的应用程序中实现了remember-me。我正在使用PersistentTokenBasedRememberMeService实现它。我使用时工作正常:

 <remember-me key="springRocks" data-source-ref="dataSource"/>

我看到在persistent_logins表中创建了条目。现在我尝试在我的登录页面中删除remember-me复选框,并在定义PersistentTokenBasedRememberMeService bean时将属性'alwaysRemember'设置为true,期望我现在不需要单击复选框,它将永远记住。这就是我如何做到的:

<beans:bean id="rememberMeService" class= "org.springframework.security.web.authentication.rememberme.PersistentTokenBasedRememberMeServices">
    <beans:property name="key" value="springRocks"/>
    <beans:property name="userDetailsService" ref="userDetailsService"/>
    <beans:property name="tokenRepository" ref="tokenRepository"/>
    <beans:property name="alwaysRemember" value="true"/>
</beans:bean>

我已经克服了我的记忆:

<remember-me services-alias="rememberMeService" key="springRocks" data-source-ref="dataSource"/>

现在记住我的功能不起作用。有人可以告诉我哪里出错了吗?

1 个答案:

答案 0 :(得分:0)

您需要更新配置以使用servies-ref而不是services-alias

<remember-me 
    services-ref="rememberMeService" 
    key="springRocks" 
    data-source-ref="dataSource"/>

services-alias用于在另一个对象需要引用它的情况下引用由该元素创建的RememberMeServices。 services-ref允许您使用自己的RememberMeServices实例。