RememberMe服务无法正常工作

时间:2012-11-09 14:36:44

标签: java spring security model-view-controller

我在Spring MVC中使用RememberMe服务。它曾经是工作但现在不是。它创建了一个Cookie,但是当重新启动浏览器时,cookie将自动删除。我用3-4台机器测试过,这不是浏览器问题。这可能是一些配置问题。我们在Spring Security中使用基于令牌的rememberMe服务和以下配置。

                      

<bean id="shoTokenBasedRememberMeServices" class="com.sho.web.security.ShoTokenBasedRememberMeServices">
    <constructor-arg ref="shoUserDetailsService"/>
</bean>

我错过了什么吗?

1 个答案:

答案 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