【问题标题】:I am following spring xml based configuraiton so How TokenBasedRememberMeServices configuration in spring-security.xml file?我正在关注基于 spring xml 的配置,那么 spring-security.xml 文件中的 TokenBasedRememberMeServices 配置如何?
【发布时间】:2015-09-02 11:13:36
【问题描述】:
我已经在我的安全包中实现了以下类
公共类 TokenBasedRememberMeServices 扩展 AbstractRememberMeServices
但是当我尝试在
中配置记住我的 bean 时
<http auto-config="true" use-expressions="true"> <!-- enable remember me --> <remember-me token-validity-seconds="1209600" remember-me-parameter="remember-me" data-source-ref="dataSource" /> </http>
它不起作用所以我必须在我的 spring-security.xml 文件中添加任何其他配置吗???
【问题讨论】:
标签:
java
spring
spring-mvc
spring-security
【解决方案1】:
将此添加到您的 xml 文件中:
<beans:bean id="rememberMeAuthenticationProvider"
class="org.springframework.security.web.authentication.rememberme.PersistentTokenBasedRememberMeServices">
<beans:property name="key" value="_spring_security_remember_me"/>
<property name="alwaysRemember" value="true"/>
<beans:property name="tokenRepository" ref="jdbcTokenRepository"/>
<beans:property name="userDetailsService" ref="userDetailsService"/>
</beans:bean>
// Do you see below createTableOnStartUp, just keep it true for one time, //run the webapp, stop it, make it false and re-run it.
<beans:bean id="jdbcTokenRepository"
class="org.springframework.security.web.authentication.rememberme.JdbcTokenRepositoryImpl">
<beans:property name="createTableOnStartup" value="false"/>
<beans:property name="dataSource" ref="dataSource"/>
</beans:bean>
如果您有疑问,请告诉我。