私のSpring Security XMLは次のとおりです。
<http use-expressions="true">
<intercept-url pattern="/login" access="isAnonymous()" requires-channel="https"/>
<intercept-url pattern="/login/" access="isAnonymous()" requires-channel="https" />
<intercept-url pattern="/logout-success" access="isAnonymous()" />
<intercept-url pattern="/logout-success/" access="isAnonymous()" />
<intercept-url pattern="/logout" access="isAuthenticated()" />
<intercept-url pattern="/**" access="hasRole('ROLE_SUPER_ADMIN')" />
<form-login login-page="/login/" default-target-url="/example/Login_execute"/>
<logout logout-url="/logout" logout-success-url="/logout-success" />
<remember-me services-ref="rememberMeServices"/>
<port-mappings>
<port-mapping http="8080" https="8443"/>
</port-mappings>
</http>
...
<beans:bean id="userDetailsService" class="com.myownpackage.UserAccountServiceImpl"/>
<beans:bean id="rememberMeServices" class="org.springframework.security.web.authentication.rememberme.PersistentTokenBasedRememberMeServices">
<beans:property name="userDetailsService" ref="userDetailsService" />
<beans:property name="tokenRepository" ref="persistentTokenRepository" />
<beans:property name="key" value="myownkey" />
</beans:bean>
<beans:bean id="persistentTokenRepository" class="com.myownpackage.PersistentTokenRepositoryImpl" />
ログインして「記憶」にチェックを入れるたびに、プログラムは記憶データベーステーブルに何かを保存します (これは正しいです)。
ブラウザーを閉じてブラウザーを再度開き、認証が必要なページを開くと、プログラムは PersistentTokenBasedRememberMeServices で processAutoLoginCookie を実行し、正しい UserDetails を返します (これも正しいです)。
しかし、それでも、ログインページにリダイレクトされます。
ちなみに、ログインページはカスタマイズしており、ログイン用のフォームをJSPファイルで表示するだけです。
春のセキュリティ XML を書くときに見逃したステップはありますか?