2013-03-13 183 views
2

在我的應用程序中,我發送一封電子郵件給用戶一個鏈接到一個jsp。如果用戶點擊該鏈接並且沒有登錄,那麼它將重定向到登錄頁面,並且在成功登錄後重定向到默認登錄頁面。在春季安全2.0.2如何重定向到登錄後請求的網址

我想要當用戶登錄成功,那麼它應該重定向到相同的頁面(鏈接頁面)用戶提交請求,而不是默認頁面。

我正在使用Spring Security 2.0.2。

任何幫助,將不勝感激。

回答

1

定義yourAuthenticationFilter與SavedRequestAwareAuthenticationSuccessHandler

<bean id="yourAuthenticationFilter" class="yourAuthenticationFilterClass"> 
     <property name="authenticationSuccessHandler"> 
      <bean class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler" /> 
     </property> 
    </bean> 
+0

一個簡單的問題,它會在春季安全2.0.2? – vikasgupta 2013-03-13 17:59:35

+0

它不在ss 2.0.2中工作 – vikasgupta 2013-03-14 04:58:25

+0

對不起,我沒有意識到這一點。 – 2013-03-14 07:09:26

0

我找到了答案。我已經加入定製認證過濾器下面的行,其延伸AuthenticationProcessingFilter

HttpSession session = request.getSession(false); 
     SavedRequest savedRequest = null; 
     if (session != null) { 
      savedRequest = (SavedRequest) session.getAttribute(SPRING_SECURITY_SAVED_REQUEST_KEY); 
     } 

和savedRequest對象存儲最後請求的URL,並且可以被設置爲在成功認證後的目標URL。

P.S.這個工作在Spring security 2.0中。