1

Spring MVC で RememberMe サービスを使用しています。以前は機能していましたが、現在は機能していません。Cookie を作成しますが、ブラウザを再起動すると、Cookie は自動的に削除されます。3 ~ 4 台のマシンでテストしましたが、ブラウザの問題ではありません。何らかの構成の問題である可能性があります。Spring Security では、以下の構成で Token ベースの rememberMe サービスを使用します。

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

何か不足していますか?

4

1 に答える 1

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>

そのため、私の認証マネージャーは最終的に 2 つの認証プロバイダーになりました。

<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

于 2012-12-21T02:51:50.323 に答える