2014-05-17 3 views
1

나는 rememberme 인증과 함께 Spring MVC와 Spring Security를 ​​사용하고 있습니다.폼 대신에 rememberme 인증 리디렉션을 사용하는 프로세스

양식을 게시하고 양식을 추가하는 사이에 세션이 손실 될 때마다 Spring Security에서 사용되는 targetUrl로 리디렉션됩니다.

내가 원하는 것은 성공한 인증 이후 사용자가 예상 한대로 원래 POST 요청을 처리하는 것입니다. LoginSuccessHandler에서 POST 요청을 캡처하여 처리하는 가장 좋은 방법은 무엇입니까?

답변

0

rememberMe 구성에서 org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler bean을 authentication-success-handler-ref로 사용해야합니다.

스프링 시큐리티는 원래 POST 요청을 ExceptionTranslationFilter 안에 기억하고 (RequestCache을 사용하여 저장). 인증을하면 successHandler는 RequestCache의 데이터를 기반으로 원래 URL로 리디렉션합니다. 그런 다음 리디렉션은 RequestCacheAwareFilter (자동으로 사용자의 < 보안과 함께 추가됨 : http > 구성에 의해 가로 채어집니다) 요청의 데이터를 원래 POST의 내용으로 바꿉니다.

+0

감사합니다. 그것이 일어나고있는 것 같지 않기 때문에 나는 그것을 줄 것이다. – Marc