2

私のアプリケーションでは、jsp へのリンクを含む電子メールをユーザーに送信しています。ユーザーがリンクをクリックしてログインしていない場合、ログイン ページにリダイレクトされ、ログインに成功すると、デフォルトのランディング ページにリダイレクトされます。

ユーザーが正常にログインしたときに、デフォルトのページではなく、ユーザーがリクエストを送信したのと同じページ (リンク ページ) にリダイレクトする必要があります。

Spring Security 2.0.2 を使用しています。

任意の助けをいただければ幸いです。

4

2 に答える 2

1

SavedRequestAwareAuthenticationSuccessHandler で yourAuthenticationFilter を定義する

    <bean id="yourAuthenticationFilter" class="yourAuthenticationFilterClass">  
        <property name="authenticationSuccessHandler">
            <bean class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler" />
        </property>
    </bean>
于 2013-03-13T13:40:03.067 に答える
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 として設定できます。

PS これは Spring security 2.0 で機能します。

于 2013-03-16T05:17:34.980 に答える