我在使用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"/>
现在记住我的功能不起作用。有人可以告诉我哪里出错了吗?
答案 0 :(得分:0)
您需要更新配置以使用servies-ref而不是services-alias。
<remember-me
services-ref="rememberMeService"
key="springRocks"
data-source-ref="dataSource"/>
services-alias用于在另一个对象需要引用它的情况下引用由该元素创建的RememberMeServices。 services-ref允许您使用自己的RememberMeServices实例。