春のセキュリティ - ログ(復刻版)

次のように/ログアウトのための春のセキュリティデフォルトのログアウトURLは、ログイン後、春のセキュリティが処理されます。

  • 現在sesion障害。
  • クリアリメンバー・ミーは、ユーザーの現在のレコードに関連付けられています。
  • 空に現在SecurityContextが。
  • ログインページにリダイレクト。

春のセキュリティは、私たちは上記を設定することで、これらのデフォルトの動作を変更することができます。

カスタム動作ログ

私たちは、以下の構成春のセキュリティ設定を追加します。

......
。そして()
    。ログアウト()
    .logoutUrl( "/サインアウト" 
    //。logoutSuccessUrl( "/サインアウト/成功" 
    .deleteCookies( "JSESSIONID" 
。そして()
......

ログイン/サインアウトのために上記の設定URLは、URL /サインアウト/成功に成功したジャンプを出た後に、クッキーのJSESSIONIDの成功を出た後、名前を削除します。

対応LoginController中/サインアウト/成功を添加する方法:

    @ResponseBody
    @ RequestMapping(「/サインアウト/成功」のパブリック文字列サインアウト(){
         リターンに成功して終了する」、「もう一度ログインしてください
    }

そして、認証フリーパスに/サインアウト/成功を追加します。このプロジェクトは、アクセス/サインアウトにログオンし、起動します。

終了成功が見られ、および/サインアウト/成功への要求をリダイレクトすることができます。
logoutUrlを指定することに加えて、我々はまた、成功の後ろの出口ロジックを処理するためにlogoutSuccessHandlerプロセッサによって成功裏に終了指定することができます。

                。そして()
                。ログアウト()
                .logoutUrl( "/サインアウト" 
                .logoutSuccessUrl( "/サインアウト/成功" 
                .logoutSuccessHandler(logoutSuccessHandler)    // プロセスが終了に成功し 
                .deleteCookies( "JSESSIONID")

パッケージcom.goldwind.handlerのクラスCustomLogoutSuccessHandlerを作成します。

パッケージcom.goldwind.handler。

輸入org.springframework.http.HttpStatus;
輸入org.springframework.security.core.Authentication。
輸入org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
輸入org.springframework.stereotype.Service。

輸入javax.servlet.ServletException;
インポートのjavax.servlet.http.HttpServletRequest;
インポートのjavax.servlet.http.HttpServletResponse;
インポートにjava.io.IOException;

/ **
 * @Author:ZY
 * @description:カスタム・ロジックが正常に終了します
 * @Date:2020年2月16日
 * /
@サービス
パブリック クラス CustomLogoutSuccessHandler 実装LogoutSuccessHandler {
    @オーバーライド
    公共 ボイド onLogoutSuccess(HttpServletRequestのHttpServletRequestを、HttpServletResponseのHttpServletResponseの、認証の認証)はスローにIOException、ServletExceptionがを{
        httpServletResponse.setStatus(HttpStatus.UNAUTHORIZED.value())。
        httpServletResponse.setContentType( "アプリケーション/ JSON;のcharset = UTF-8" )。
        。httpServletResponse.getWriter()ライト(「成功裏に終了し、再度ログインしてください」);
    }
}

上記と同様の効果:

参考記事:

[1]  春セキュリティログ(転載)

おすすめ

転載: www.cnblogs.com/zyly/p/12316782.html
おすすめ