강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

春のセキュリティ完全征服[6.xリビジョン]

Spring Security 6.x最新版で製作された改訂版講義で初級から中級・高級に至るまで、Spring Securityの基本概念からAPIの使い方と内部アーキテクチャを学習することになり、これを元に本番プロジェクトを完成させていくことでSpring Securityの認証と認可に関連する重要な技術を身につけます。

  • leaven
백엔드개발자
스프링시큐리티
개정판
업데이트
Spring
Spring Boot
Spring Security
security
web-security

学習した受講者のレビュー

受講後に得られること

  • Spring Securityの基本APIと関連するFilter完全征服

  • Spring Securityの内部アーキテクチャとオブジェクト間の役割と関係の流れを理解する

  • Spring Securityの認証原理と内部動作方法の理解

  • スプリングセキュリティの認可原理と内部動作方式の理解

  • Spring SecurityとSpring MVCの連携方法を理解する

  • Spring Securityを活用した実務レベルのセキュリティシステム構築のノウハウ学習

Spring Security 6.x最新バージョン完全改訂版!

Spring Security 6.xは、以前のバージョンと比較してかなりの変更と改善示しています。

これにより、カリキュラム項目も既存のスプリングセキュリティ講座と比較して変更または新しく追加された項目が多くなりました。
だから今回のSpring Security完全征服講座は、Spring Security 6.xバージョンの主な変更点と新機能を詳細に分析し、掘り下げることで受講生の皆さんが本講座の理論と実習を通じて各機能とAPIを確実に身につけるなら役に立つ


入門者、小・中・高級者全員のための講義

本講座はスプリングセキュリティに初めて接する入門者から基礎的な知識や使用経験はありますが、より深い知識の習得とスプリングセキュリティの核心原理、内部構造、動作方式などを深く理解し、これを応用したい中高級者のために製作しました。

主な学習内容💡

本講義は、Spring Securityのための鍵となるテーマであり、大きく認証、認可、悪用保護、統合、実戦プロジェクトの5つの軸を中心に授業を行います。

1. 認証(Authentication)

Spring Security 6.xは、ユーザー認証のためのフォームベース認証、基本認証、記憶認証など、さまざまな方法を提供します。この認証方式は、ユーザーがシステムに自分の身元を証明するための効果的な手段を提供します。認証プロセスは、ユーザーが提供した資格情報を検証してユーザーの身元を確認します。これはAuthenticationManagerを中心に行われます。認証が成功した後、ユーザーの認証情報はSecurityContextHolder内のSecurityContextに格納され、アプリケーション全体でユーザーの認証状態を参照するために使用されます。 Spring Securityは、セッション管理を通じてユーザーのセッション情報を管理し、同時セッション制御、セッションポリシー設定、セッションの有効期限、セッション固定保護などの機能を提供することで、ユーザーのセッションを安全に保護します。認証プロセスで発生する可能性のあるさまざまな例外状況も適切に処理できるように設計されています。


2. 認可 (Authorization)

Spring Securityの認可プロセスは、ユーザーが認証を完了した後に特定のリソースにアクセスできるかどうかを決定します。 Spring Security 6.xでは、 HttpSecurityを使用してURLベースまたはメソッドベースの認可処理を設定でき、 AuthorizationManagerを含む新しい認可アーキテクチャを使用して、よりきめ細かく柔軟な認可ポリシーを実装できます。これにより、開発者はアプリケーションのセキュリティ要件に合わせてアクセス制御ポリシーを定義でき、ユーザーの要求に対する権限を評価してリソースへのアクセスを許可または拒否できます。認可処理はアプリケーションのセキュリティを強化するために重要な役割を果たし、機密情報とリソースを保護するために重要です。

3. 悪用保護 ( Protection Against Exploits )

Spring Security 6.xは、CORS、CSRF保護、SameSite Cookie設定などの機能を提供し、さまざまなセキュリティ脅威からアプリケーションを保護します。これらのセキュリティ機能は、アプリケーションをクロスサイトスクリプティング、クロスサイトリクエスト偽造攻撃から保護し、ユーザーのデータとセッションを安全に保ちます。 CORS設定により、開発者は他のドメインのリソースに安全にアクセスできるようになり、CSRF保護は悪意のあるWebサイトがユーザーに代わって要求を送信するのを防ぎます。 SameSite Cookieプロパティを設定することで、ブラウザがCookieを送信する方法を制御し、追加のセキュリティ層を提供します。

4. 統合 (Integrations)

Spring Security 6.xバージョンは、サーブレット環境、Spring MVC、およびSpring MVC非同期処理との緊密な統合を提供します。この統合により、開発者はSpringベースのアプリケーションにセキュリティ機能を簡単に追加および設定できます。サーブレット統合により、Spring SecurityはHTTP要求と応答のセキュリティ処理を管理し、Spring MVC統合はコントローラとサービス層できめ細かいセキュリティポリシーを可能にします。非同期処理との統合は、Spring WebFluxを使用するレスポンシブプログラミングモデルのセキュリティ要件を満たし、開発者が非同期およびストリームベースのアプリケーションを構築するときにセキュリティを効果的に管理できるようにします。これらの統合機能は、Spring SecurityをさまざまなSpringアプリケーションアーキテクチャとシームレスに連携させ、セキュリティ実装の複雑さを軽減します。

5. 実戦プロジェクト (Practical Projects)

Spring Security 6.xバージョンは、本番プロジェクトでの会員認証システム、会員管理システムの実装において重要な役割を果たします。これにより、開発者は、ユーザー認証、権限管理、リソースアクセス制御などの機能を効果的に実装できます。会員認証システムは、アプリケーションのセキュリティを強化するための基盤を提供し、会員管理システムは、ユーザー情報の安全な保存、照会、修正、削除などを管理します。権限管理を通じてユーザーごとに異なるアクセス権を割り当て、リソース管理はアプリケーション内の機密情報と機能へのアクセスを制御します。さらに、Spring SecurityはMapとデータベースを使用した動的許可設定をサポートし、実行時に権限を変更または更新できる柔軟性を提供します。これらの実践プロジェクトでの実装は、Spring Securityの強力な機能と柔軟性を示し、開発者がセキュリティ要件を満たすために不可欠なツールです。

会員認証システム

会員管理システム

講義の構成と詳細なカリキュラム🏃

セクション1.初期化プロセスの理解

  • Spring Securityが起動して発生する初期化プロセスを深く扱います。

  • Spring Securityの初期化時に設定されるBean、全体構造とフロー、フィルタチェーン構成などを含め、Spring Securityがどのように動作する準備をするかを詳しく説明します。このプロセスを理解することで、開発者はSpring Securityの基本的な動作原理を理解し、必要なセキュリティ設定を効果的に適用できます。

セクション2.認証プロセス

  • さまざまなユーザー認証方法を学ぶ

  • フォームベース認証、基本認証(Basic Authentication)、「記憶(remember-me)」認証など、さまざまな認証メカニズムを詳細に紹介し、アプリケーションのニーズに最も適した認証方式を選択して実装する方法を学びます。

セクション 3.認証アーキテクチャ

  • このセクションでは、Spring Securityの認証処理構造と原理に焦点を当てます。

  • 認証プロセスにおけるオブジェクト間の関係、認証マネージャ、認証プロバイダなど、コアコンポーネントの役割と相互作用について詳しく説明します。理解を容易にするために、さまざまな認証フローとユースケースで認証アーキテクチャを実際にどのように適用できるかを示します

セクション 4.認証状態の永続性

  • このセクションでは、認証状態の保存、参照、削除などの永続性管理方法について説明します。

  • 以前のバージョンと比較して、より効率的な認証状態の永続性をどのように設定して実装するかを詳しく学びます。

セクション 5.セッション管理

  • このセクションでは、セッション情報の作成、維持、有効期限、削除などのセッションライフサイクル管理を含む、同時セッション制御、セッション固定保護、セッションポリシー設定などについて詳しく説明します。

セクション6.例外処理

  • 認証および認可プロセスで発生する可能性のあるさまざまな例外状況をどのように処理するかについての方法論を提示します。セキュリティ関連の例外処理の重要性を強調し、ユーザーにKindエラーメッセージを提供し、システムのセキュリティを維持するための例外処理戦略を学習します。

セクション 7.悪用保護

  • Webアプリケーションはさまざまなセキュリティ脅威にさらされています。 CORS(Cross-Origin Resource Sharing)、CSRF(Cross-Site Request Forgery)、SameSite Cookieプロパティなどのセキュリティメカニズムを使用して、これらの脅威からアプリケーションを保護する方法を学びます。

セクション8.認可プロセス

  • 許可は、アプリケーション内でユーザーが実行できる操作を決定します。

  • URLベースの認可、メソッドレベルの認可など、さまざまな認可処理方法を紹介し、それぞれの適用方法とセキュリティの考慮事項について説明します。これにより、開発者はアプリケーションのセキュリティ要件に合った適切な承認ポリシーを設計および実装できます。

セクション9.認可アーキテクチャ

  • 認可処理の内部構造と原理を深く扱います。

  • 認可マネージャー、認可決定者など、コアコンポーネントとそれらの間の関係を分析し、認可アーキテクチャを介して複雑なセキュリティ要件を解決する方法を紹介します。

セクション 10.イベント処理

  • Spring Securityは、認証と承認の過程で発生するイベントを処理するためのメカニズムを提供します。

  • 認証イベント、認可イベントの処理方法を学び、どのような状況でイベントを発生して受信するかについての方法を学習します。

セクション11.統合

  • Spring SecurityはSpring Ecosystemと緊密に統合されています。

  • サーブレットAPI、Spring MVCとの統合方法を詳細に説明し、SpringアプリケーションにSpring Securityを効果的に統合する方法について説明します。

セクション12:詳細設定

  • 複数のセキュリティ設定、冗長設定、セキュリティDSLをどのように実装できるかを学びます。

セクション13:本番プロジェクト

  • このレッスンは実際には理論を超えており、会員認証システムと会員管理システムの実装を通じて、Spring Securityの全体的な適用方法を学びます。

Spring Securityロードマップ

  • スプリングセキュリティ完成征服+スプリングセキュリティOAuth2

この講義を作った
知識共有者を紹介します。

浄水源(leaven)

  • 現職のJava開発者

  • SI/SM/ソリューション/Mobile/Front&Back-end のさまざまなプロジェクト体験

  • Architect/PM/PL として役割を果たす

  • Github


こんな方に
おすすめです

学習対象は
誰でしょう?

  • Spring Securityの基本概念を確実に理解したい方

  • Spring Securityの基本機能を超えて自由に機能を拡張し、カストマイジングしたい方

  • Spring Securityを活用して実務レベルの認証および権限制御システムを実装したい人

  • Spring Security入門者から中高級者まで活用できる内容で構成

前提知識、
必要でしょうか?

  • Java

  • Spring Boot

  • Spring MVC

  • Spring JPA

  • RDBMS

こんにちは
です。

10,096

受講生

353

受講レビュー

1,212

回答

4.9

講座評価

5

講座

다양한 프로젝트에서 웹/모바일/솔루션 제품 개발과 관련된 업무를 진행해 오고 있으며 분석/설계/개발 Role 을 맡아 오고 있습니다.

공공기간, 교육프로그램, 기업 프로젝트, 쇼핑몰 등의 웹 개발 및 솔루션 프로그램, 프레임워크, 오픈소스 연동 등의 아키텍처 설계 및 구조적 고도화 개선 등을 해 오고 있으며 개발, PL 등의 역할을 맡았습니다.

다양한 Open Source 와 여러 기술적인 경험들을 통해 웹의 전반적인 기술 흐름들을 익혔으며 개발 경험이 거듭될 수록 요구사항의 기능 구현에만 거치지 않고 좀 더 OOP 적인 구조의 소프트웨어로서 안전성과 성능을 고려한 아키텍처링과 튜닝의 기술들을 접목시켜 지속적으로 더 훌륭한 소프트웨어를 완성하기 위한 연구와 개발 실무를 책임감 있게 맡아 오고 있습니다.

 

カリキュラム

全体

103件 ∙ (36時間 55分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

80件

4.9

80件の受講レビュー

  • rocket700015862님의 프로필 이미지
    rocket700015862

    受講レビュー 2

    平均評価 5.0

    5

    75% 受講後に作成

    プロジェクトを進行中ですが、セキュリティ、認証/認可から多く迷っています。他の場所で無料講義(Spring Security 5.x)クローンコーディングでおおよその流れを学び、その後にブログのソースコードを私のプロジェクトに合わせて修正するようにコーディングしましたが、そのようには不足していると思いました。 従来の本やレッスンはほとんどSpring Security 5.xバージョンに基づいており、6.xとは異なる部分が多かった。特にセキュリティ設定部分では、5.xは単純なメソッドを使うのに6.xからはラムダ式が必須だと思っていながらもこれが合いたくて毎日グーグルをしなければならない面倒がありました。 GoogleとSpring Security In Action 2版、GPT4でプロジェクトにJWT、OAuth2を適用してサーバーが動作することはしたが、正しく理解できない状態で認証/認可を適用するという点が多く蒸し、講義を聞くことになりました。スプリングセキュリティであるアクション2版と重なる部分が多かったら、どうしても欲しかったのですが、本で扱えなかった細かい部分を細かく絞ってくれて曖昧だった概念をしっかりできました。 初めて勉強する方は5.xバージョン+ ChatGPT4 or 4o(学習データがほとんど5.xバージョンなのでdeprecatedされたコードをたくさん提示します)+グーグルで迷わないで、ただこの講義を聞くのがおすすめです😭 + Spring Securityが完全に初めての場合、Manning社が販売するSpring Security in Action 2nd(6.xバージョン以上)+公式文書も おすすめ。 5.x版の調査は照らします。

    • pinako님의 프로필 이미지
      pinako

      受講レビュー 2

      平均評価 4.5

      4

      37% 受講後に作成

      本当に詳しく説明してくださり、原理から入念に説明してくれます。 ただ..発音がたくさん残念です。しかも方言までありまして、知らなかった場合が多すぎます。 他の講義に比べて大変ですね..良い講義ありがとうございます。

      • alsry922님의 프로필 이미지
        alsry922

        受講レビュー 17

        平均評価 4.7

        4

        76% 受講後に作成

        大体必要だと思われるものだけ一応聞きました。 川の分量がすごく多いですが、3回ほど回してみるのがオススメです。 最初は何と言っても理解できませんが、これを聞き続けなければならなかったのですが、 二度目の聞く時はああ、いったい何の感じなのか感がありました。 もう一度聞くとかなりのことは理解になりそうですね。 私は2回振り返ったので、もう一度聞きます。 発音が倍速で少し聞くのが難しく、コミュニティの質問のフィードバックが少し遅いようで、少し残念です。 他には、スプリングセキュリティはこれで勉強しても、かなりのことはすべて学ぶようです。おすすめ!

        • smathj9975님의 프로필 이미지
          smathj9975

          受講レビュー 36

          平均評価 5.0

          5

          100% 受講後に作成

          いよいよ頑張りました。 まず、前のバージョンの講義もよく見ました。 今回のセキュリティ6バージョンが過去5バージョンよりも好きです! 講師は新しいバージョンについて 非常に多くの分析をして講義をしたこと 講義を受講するほど知ります 他の人にも役立つか、いくつかの特徴を書いてみます。 1. フィルタ初期化パーツを葉の前に配置 初期化過程も一番先に配置されたのも本当に満足です 2. 理論パーツ、実習パーツの分離 講義が各パートごとに分かれていて20~30分内外に 見やすい 3. 各パーツごとのブランチ管理 各パートごとに分岐が分かれていて受講するのに非常に便利です。 4. 講義力 講義力は言うまでもありません、私が見たセキュリティ講義や教材中に 本当に光と塩のような講義です ライブラリだけを追加し、サーバーだけをオンにしても多くのことが起こります... 単に機能を使用して終了する講義ではありません。 他にも、Springのさまざまな技術のインサイトを育てることができます 望むところ... OAuth2も新規講義で出せますか!

          • leaven
            知識共有者

            大切な評価ありがとうございました 長い時間頑張ってくれてありがとうございます^^ 私の講義を飛び越えて、smathjさんだけの体系を作っていくことを応援します。 勉強にとって、どんなものも楽しさに勝つことはできません。 smathj の評価にそんな楽しさが埋まっているようで私も嬉しいです。 OAuth2は継続的に監視しています。 正確な時期はわかりませんが、ぜひ必要な時点でよりアップグレードされた内容でお会いできることを私も望んでいます。 ありがとうございます。~~

        • ttasjwi님의 프로필 이미지
          ttasjwi

          受講レビュー 16

          平均評価 5.0

          5

          40% 受講後に作成

          講義時間が36時間55分も経ってみると、初めて講義を見る時は嬉しくなります。 私もこの部分で初めて学習するときは拒否感がありました... しかし、この講義の真価は、デバッガを通じて内部動作原理を詳細に説明してくれる部分です。 講義内でデバッガを通じて詳細な動作原理を詳細に掘り下げることに従い、自らデバッガの使い方を学び、開発能力の向上に大きな助けとなりました。 Springの入門段階(core、web、jpa、boot学習、..)を経た段階で、このレッスンに従いながら、デバッガを介して内部の自動設定と動作フローを習得すると、セキュリティに対する理解度が急速に成長することを感じることができます。 現在のところ、セキュリティ関連の資料がほとんどdeprecatedされたり使われていないものを基準とした資料が多いが、この講義は6バージョン以降を念頭に置いて講義が作られています。 このように深くセキュリティ、さらに進んで特定の技術を説明する講義、資料を探すのは難しいです。 本当に強力おすすめの講義です。

          • leaven
            知識共有者

            まず、大切な評価に感謝します^^ 私のすべての川のほとんどがかなり長い時間で制作されて、おそらくおなかのように学習する前から多くの負担感を持っていると思います実際にそうです。 しかし、その個人的には講義時間の長短を離れ、どんな形でも受講生の方々に最も最適な知識を伝達しなければならないという鉄則のような基準と原則が確固たるため、たとえ講義映像の外的姿がよく精製され、高度化された商品性は持てないでも内的内容である知識伝達の品質だけは決して妥協したり譲歩しないという意志が強いので、映像時間が予想より常に増えるようになりましたね! もちろん、適切に調整が必要であることを常に認識しています^^ 時間が長いほど難しい部分は何度も何度も続いていくともっとしっかりとした内空を持つことになると思います。 そしてデバッグの魅力を感じたら、私はもっと感謝します^^ 実務でもうまく活用すれば途方もない助けになるので、ずっと習慣のように発展させていってください もう一度丁寧な評価を書いてくれてありがとう。

        期間限定セール、あと8日日で終了

        ¥69,300

        30%

        ¥12,511

        leavenの他の講座

        知識共有者の他の講座を見てみましょう!

        似ている講座

        同じ分野の他の講座を見てみましょう!