表单POST,记住我的身份验证重定向而不是进程

时间:2014-05-17 15:24:51

标签: spring spring-mvc spring-security

我正在使用Spring MVC和Spring Security以及rememberme身份验证。

每当我发布一个FORM而我的会话在向表单添加内容并提交之前都会丢失,我会被重定向到Spring Security使用的targetUrl。

我想要发生的是在成功记住身份验证之后,用户按预期处理原始POST请求。在LoginSuccessHandler中捕获POST请求并以此方式处理它的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您应该在rememberMe配置中使用org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler bean作为authentication-success-handler-ref。

Spring Security将在ExceptionTranslationFilter内记住您的原始POST请求(并使用RequestCache存储)。进行身份验证后,successHandler将重定向到原始URL(基于RequestCache中的数据)。然后,RequestCacheAwareFilter会拦截重定向(会自动添加您的< security:http>配置),它会将请求的数据替换为原始POST中的内容。