我在Spring MVC中使用RememberMe服务。它曾经是工作但现在不是。它创建了一个Cookie,但是当重新启动浏览器时,cookie将自动删除。我用3-4台机器测试过,这不是浏览器问题。这可能是一些配置问题。我们在Spring Security中使用基于令牌的rememberMe服务和以下配置。
<bean id="shoTokenBasedRememberMeServices" class="com.sho.web.security.ShoTokenBasedRememberMeServices">
<constructor-arg ref="shoUserDetailsService"/>
</bean>
我错过了什么吗?
答案 0 :(得分:0)
我经历了这个特殊问题。我通过向我的身份验证管理器添加RememberMeAuthenticationProvider解决了这个问题。
<beans:bean id="rememberMeAuthenticationProvider"
class="org.springframework.security.authentication.RememberMeAuthenticationProvider">
...
</beans:bean>
<authentication-manager alias="authMgr">
...
<authentication-provider ref="rememberMeAuthenticationProvider">
</authentication-provider>
</authentication-manager>
所以我的身份验证管理器最终得到了两个身份验证提供程序:
<authentication-manager alias="authMgr">
<authentication-provider user-service-ref="customUserDetailsService">
<password-encoder hash="sha">
<salt-source user-property="username" />
</password-encoder>
</authentication-provider>
<authentication-provider ref="rememberMeAuthenticationProvider">
</authentication-provider>
</authentication-manager>
本文说“在AuthenticationManager中包含RememberMeAuthenticationProvider”:http://static.springsource.org/spring-security/site/docs/3.0.x/reference/remember-me.html