Spring Security 入門:Spring Boot アプリケーションにフォーム認証と権限管理を実装しよう
Spring Boot アプリケーションに Spring Security を導入し認証・認可を実装します。認証はユーザーIDとパスワードを使ったフォーム認証を作ります。認可はユーザーのロールによってアクセスを制限する権限管理を作ります。
Description
※※※※※
【ご注意】
この講座は Spring Security 5.5 を中心に解説しています。
講座中のほとんどのレクチャーは 5.7 で非推奨になった WebSecurityConfigurerAdapter を使用しているコードとなっています。
セクション『補足:Spring アップデート対応』にて 5.7 への移行を解説していますが、はじめから 5.7 の記法で進めたい方はほかの講座をあたっていただけますと幸いです。
※※※※※
公式ドキュメントや書籍で Spring Security を勉強して挫折した経験はありませんか?
この講座は、Spring Security を使って Spring アプリケーションにセキュリティ関連の機能を実装していく講座です。
メインテーマは、『フォーム認証』と『ロールによる権限管理』です。
※ OAuth や LDAP などの認証は扱っていません。
受講前の姿
次のどれかにあてはまる方は、この講座を受講すると知識と実装力を身につけることができます:
書籍などで勉強してみたが、実際のWebアプリケーションにログイン機能や権限管理機能を実装する方法がいまいちイメージできない
Web上のサンプルコードにはパスワードをデータベースに保存するものがなく、実装方法が分からず困っている
データベースにユーザーが入力したログインパスワードをそのまま保存している
受講後の姿
ログイン・ログアウト機能を実装できる
Cookie・セッションを理解している
ログインに必要なパスワードをデータベースに保存できる
パスワードの安全な保管方法を理解している(ハッシュ・ソルト・ストレッチング)
ロールによる権限管理を実装できる(管理者ユーザーのみユーザーを閲覧/作成できる)
What You Will Learn!
- Spring Security でフォーム認証を実装します
- Spring Security で認可処理を実装します
- 安全なセッション管理の手法について学びます
- パスワードの安全な保存方法について学びます(ハッシュ・ソルト・ストレッチング)
Who Should Attend!
- Spring Boot で作った Webアプリケーションに、ユーザーIDとパスワードを使ったフォーム認証を実装したい人
- Spring Boot で作ったWebアプリケーションに、認可処理(権限管理)を実装したい人