1

はい、Spring Security Logout にパラメーターを追加できますか。以下のように、security.xml でログアウト要求を構成しました。

<sec:logout invalidate-session="true" logout-success-url="/logoutsuccess.do" logout-url="/logout.do" />

ログイン中、ログインに成功した後、Custom Success Handler でユーザー アカウントのさまざまな側面を検証して、アカウントのサブスクリプション ステータス、承認/非承認などを検証し、それに基づいて、いずれかの条件が失敗した場合にログアウト リクエストを送信します。ログアウト ページにカスタム エラー メッセージを表示したいので、そのパラメータをログアウト リクエストとともに送信したいと思います。

4

1 に答える 1

2

カスタム ログアウト ハンドラを記述します。属性success-handler-refを xml 構成ファイルに入れます。

例えば

<sec:logout invalidate-session="true" logout-success-url="/logoutsuccess.do" 
  logout-url="/logout.do" 
  success-handler-ref="YourCustomLogoutSuccessHandler"/>

次に、 SimpleUrlLogoutSuccessHandler を拡張するか、 LogoutHandler実装します。

例えば

public class YourCustomLogoutSuccessHandler extends SimpleUrlLogoutSuccessHandler {  

    @Override  
    public void onLogoutSuccess(HttpServletRequest request, HttpServletResponse response,  
            Authentication authentication) throws IOException, ServletException {  

        //Do what you want to do here
        //....... 

        //below does the 'standard' spring logout handling  
        super.onLogoutSuccess(request, response, authentication);         
    }  
} 

これを行う別の方法を次に示します。これは、特定の URL にリダイレクトし、手動でセッション管理を処理する方法も示しています。

于 2014-06-20T12:44:25.137 に答える