La cookie de seguridad de "recordarme" no está disponible en la primera solicitud

No consigo recuperar la cookie de Spring Remember me después de la solicitud de inicio de sesión, pero funciona bien en la próxima solicitud a una página protegida. ¿Podría alguien decirme cómo puedo conseguirlo de inmediato?

Estoy configurando la cookie Recordarme en la solicitud de inicio de sesión, pero no puedo recuperarla después de que Spring redirecciona de nuevo a la URL original (protegida).

Paso a paso:

El navegador va a example.com/protectedSpring redirige a la página del formulario de inicio de sesiónAl iniciar sesión correctamente, SPRING_SECURITY_REMEMBER_ME_COOKIE se establece en una subclase personalizada muy delgada de org.springframework.security.web.authentication.rememberme.TokenBasedRememberMeServicesParece que Spring redirige de nuevo a example.com/protected, sin un viaje de ida y vuelta al navegador, y tanto el "servlet" de inicio de sesión como la página protegida son manejados por el mismo hilo en Tomcat 6.Nuestra subclase de org.springframework.security.web.access.expression.WebSecurityExpressionRoot tiene métodos que se invocan desde un <intercept-url pattern = "..." access = "method ()" />En nuestro método (), request.getCookies () no le da la cookie recordarme en la primera solicitud, sino en todas las solicitudes posteriores.Nuestra aplicación tiene algunos problemas porque falta la cookie ...

Mi teoría hasta ahora es que no entiendo la Búsqueda de Guardado correctamente.

Configuración condensada aquí:

<http auto-config="false" use-expressions="true" authentication-manager-ref="myAuthenticationManager" path-type="regex">
    <form-login authentication-success-handler-ref="myAuthenticationSuccessHandler" login-page="..." login-processing-url="..." authentication-failure-url="..." username-parameter="username" password-parameter="password" />

    <custom-filter ref="logoutFilter" position="LOGOUT_FILTER"/>
    <expression-handler ref="myWebSecurityExpressionHandler" />

    <custom-filter ref="myCustomeFilter1" before="FORM_LOGIN_FILTER"/>
    <custom-filter ref="myCustomeFilter2" position="BASIC_AUTH_FILTER"/>
    <custom-filter ref="mySecurityClientTokenAuthenticationFilter" after="LOGOUT_FILTER" />

    <access-denied-handler ref="myAccessDeniedHandler"/>
    <intercept-url pattern="xxx"
                   access="method()"/>

    <intercept-url pattern="yyy"
                   access="method()"/>
    <remember-me services-ref="rememberMeServices"  key="my_remember"/>
</http>

Intenté agregar lo siguiente, con el único resultado de que el usuario no se redirige a la página original.

<http ...
    <request-cache ref="nullRequestCache"/>
</http>
<bean:bean id="nullRequestCache" class="org.springframework.security.web.savedrequest.NullRequestCache"/>

Respuestas a la pregunta(1)

Su respuesta a la pregunta