【Spring MVC + Spring Security】ログアウト機能を追加する方法
概要 ログアウト機能を追加する方法についてまとめた。 前提 以下の記事の続きとなる。 ログアウト仕様 Spring Securityでは以下の流れでログアウト処理を行う。 ①クライアントがログアウトを行う ②ログアウトのURLにマッチングして、LogoutFilterの処理が動作する ③LogoutFilterはログアウトハンドラのリストを保 […]
概要 ログアウト機能を追加する方法についてまとめた。 前提 以下の記事の続きとなる。 ログアウト仕様 Spring Securityでは以下の流れでログアウト処理を行う。 ①クライアントがログアウトを行う ②ログアウトのURLにマッチングして、LogoutFilterの処理が動作する ③LogoutFilterはログアウトハンドラのリストを保 […]
概要 認証成功/失敗時に呼び出されるハンドラを利用して、後続処理を制御する方法についてまとめた。 前提 以下の記事の続きとなる。 ハンドラとは 特定の処理のこと。 リスナーとの違いは以下のようになる。 種類 役割 起動方法 ハンドラ 特定の処理を実行する責務を持つ 処理を行う側から明示的・直接的に呼び出される リスナー イベントの発生を観測する責務を持つ […]
概要 Spring Securityの認証成功/失敗イベントをハンドリングする方法についてまとめた。 前提 以下の記事の続きとなる。 認証イベント仕様 Spring SecurityはSpring Frameworkが提供するイベント制御の仕組みを利用して、認証成功/失敗イベントを通知する。 この仕組みを活用することで、認証処理に以下のような拡張機能を柔軟に追加できる。 […]
概要 Spring Securityの認証機能に、パスワードのハッシュ化機能を導入する方法についてまとめた。 前提 以下の記事の続きとなる。 パスワードのハッシュ化 画面入力値のパスワードをハッシュ化する機能を追加する。 全体像 以下の場所でハッシュ化処理を呼ぶ。 ハッシュ化処理クラス DaoAuthenticationProv […]
概要 認証エラー時に表示されるエラーメッセージをカスタマイズする方法についてまとめた。 前提 以下の記事の続きとなる。 メッセージ仕様 エラーメッセージは以下の方針でカスタマイズする。 ・基本的にはSpring Securityがデフォルトで提供するメッセージプロパティを利用する ・エラーに応じて自作したメッセージで上書きする。 補足として、 […]
概要 自作ログイン画面を利用した、簡易的なログイン認証機能の利用方法についてまとめた。 前提 以下の記事の続きとなる。 自作ログイン機能 作成するログイン機能は以下のような挙動となる。 ・未ログイン時は、どのURLにアクセスしても自作したログイン画面にリダイレクトされる ・ログインに成功すると、トップページ画面に遷移する 実装 […]
概要 Spring Securityが提供するデフォルトのログイン画面を利用して、簡易的なログイン認証機能を利用する方法についてまとめた。 前提 以下の記事の続きとなる。 デフォルトログイン機能 作成するログイン機能は以下のような挙動となる。 ・未ログイン時はどのURLにアクセスしても、Spring Security提供のログイン画面にリダイレクトされる […]
概要 Spring Security機能を利用するための必要資材や導入方法についてまとめた。 前提 以下の記事の続きとなる。 プロジェクトのセットアップについては以下を参照。 導入方法 Spring Securityフレームワークを利用するための必要な資材について紹介する。 基本的には必要な依存資材を導入し、SecurityFilterChain(複数のセキュリティフィ […]
概要 Spring Securityフレームワークのアーキテクチャについてまとめた。 Spring Securityとは アプリケーションに、セキュリティ対策機能を実装するためのフレームワークとなる。 様々なセキュリティ機能を提供しているが、大きな役割として「認証」「認可」機能を提供している。 ・認証機能: 「ユーザーが誰なのかを確認すること(ログイン認証)」 ・認可機 […]
概要 プロパティファイルに定義した値をJava側で参照する方法についてまとめた。 バージョン 今回使用しているライブラリのバージョンは以下となる。 spring-webmvc: 5.3.32 プロパティ用意 Java側で取得したい値をプロパティファイルに定義して、クラスパス配下に格納する。 /src/main/resources/hoge.properti […]
概要 HandlerInterceptorの基本的な使用方法についてまとめた。 HandlerInterceptor HandlerInterceptorは、コントローラのハンドラメソッド実行前後に共通処理を挟むための仕組みとなる。 ログ記録、認証、セッション検証などに利用される。 サーブレットフィルタとの違い HandlerInterceptorとサーブレットフィルタ […]
概要 サーブレットフィルタの基本的な使用方法についてまとめた。 フィルタ処理を自作する方法や、Springが提供するサーブレットフィルタの利用方法について紹介する。 サーブレットフィルタ サーブレットフィルタは、Webアプリケーションのリクエストとレスポンスの前後に共通処理を挟むための仕組みとなる。 認証、ログ記録、文字コード設定、アクセス制御などに利用される。 基本的 […]