강의

멘토링

로드맵

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

こんにちは
です。

9,895

受講生

327

受講レビュー

1,210

回答

4.9

講座評価

5

講座

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

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

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

 

カリキュラム

全体

103件 ∙ (36時間 55分)

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

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

受講レビュー

全体

71件

4.9

71件の受講レビュー

  • rocket70001님의 프로필 이미지
    rocket70001

    受講レビュー 2

    平均評価 5.0

    5

    75% 受講後に作成

    프로젝트를 진행 중인데 보안, 인증/인가에서 많이 헤맸습니다. 다른 곳에서 무료 강의(스프링 시큐리티 5.x ) 클론 코딩으로 대략적인 흐름을 배우고 이후에 블로그에 있는 소스 코드들을 제 프로젝트에 맞게 수정하는 식으로 코딩했는데 그런 방식으로는 부족하다는 생각이 들었습니다. 기존의 책이나 강의들은 대부분 스프링 시큐리티 5.x 버전을 기반으로 하고 있어 6.x와 다른 부분이 많았습니다. 특히 보안 설정 부분에서 5.x은 단순 메서드를 사용하는데 6.x부터는 람다식이 필수이다 보니 하면서도 이게 맞나 싶어 일일이 구글링을 해야 하는 번거로움이 있었습니다. 구글링과 스프링 시큐리티 인 액션 2판, GPT4로 프로젝트에 JWT, OAuth2를 적용해 서버가 동작하기는 했지만 제대로 이해하지 못한 상태로 인증/인가를 적용한다는 점이 많이 찜찜해 강의를 듣게 됐습니다. 스프링 시큐리티 인 액션 2판이랑 겹치는 부분이 많으면 어쩌나 싶었는데 책에서 다루지 못한 세세한 부분을 자세하게 짚어주셔서 애매했던 개념들을 확실히 할 수 있었습니다. 처음 공부하시는 분들은 5.x 버전 + ChatGPT4 or 4o(학습 데이터가 대부분 5.x 버전이라서 deprecated된 코드를 많이 제시합니다) + 구글링으로 헤매지 마시고 그냥 이 강의 들으시는 걸 추천합니다😭 + 스프링 시큐리티가 완전 처음이시라면 Manning사에서 파는 Spring Security in Action 2nd(6.x 버전 이상) + 공식 문서도 추천. 5.x 버전 공부는 비추합니다.

    • 싸누바님의 프로필 이미지
      싸누바

      受講レビュー 2

      平均評価 4.5

      4

      37% 受講後に作成

      정말 자세하게 설명해주시고, 원리부터 꼼꼼하게 설명해주십니다. 다만.. 발음이 많이 아쉽습니다. 게다가 사투리까지 있으셔서, 못알아 들은 경우가 너무나도 많습니다. 다른 강의에 비해서 많이 힘드네요.. 좋은 강의 감사합니다.

      • 정민교님의 프로필 이미지
        정민교

        受講レビュー 17

        平均評価 4.7

        4

        76% 受講後に作成

        대충 필요하다고 생각되는 것만 일단 들었습니다. 강의 분량이 굉장히 많지만 세 번 정도 돌려보시는 거 추천드립니다. 처음엔 뭔 소린지 이해도 안되는데 이걸 계속 듣고 있어야 하나 싶었는데, 두 번째 들을 때는 아 대충 무슨 느낌인지 감이 왔습니다. 한 번 더 들으면 어지간한건 이해가 될 것 같네요. 저는 두 번 돌려봤으니 한 번 더 들을 겁니다. 발음이 배속으로 조금 듣기 어렵고 커뮤니티 질문 피드백이 좀 느린 것 같아서 좀 아쉽습니다... 그 외에는 스프링 시큐리티는 이걸로 공부해도 어지간한 거는 다 배우는 것 같습니다. 추천쓰!

        • smathj님의 프로필 이미지
          smathj

          受講レビュー 25

          平均評価 5.0

          5

          100% 受講後に作成

          드디어 완강했습니다.!!! 우선 지난 버전 강의도 좋게 봤습니다 이번 시큐리티 6버전이 지난 5버전 보다 더 맘에들구요 ! 강사님께서 새로운 버전에 대한 대단히 많은 분석을 하시고 강의를 만드셨다는걸 강의를 수강할수록 알게됩니다 다른 사람에게도 도움될까 몇가지 특징을 적어봅니다. 1. 필터 초기화 파트를 제잎 앞에 배치 초기화 과정도 제일 앞서 배치된것도 정말 만족합니다 2. 이론 파트, 실습 파트 분리 강의가 각 파트별로 나눠져있어서 20~30분 내외로 보기 편했습니다 3. 각 파트별 브랜치 관리 각 파트별로 브랜치가 나눠어져 있어서 수강하는데 매우 유용합니다 4. 강의력 강의력은 두말할것없구요, 제가 본 시큐리티 강의나 교재중에 정말 빛과소금같은 강의입니다 라이브러리만 추가하고 서버만 켜도 많은 일이 일어나는걸... 단순히 기능 사용하고 끝나는 강의가 아니라서 좋습니다 그외에도 Spring 다양한 기술에 대한 인사이트를 키울 수 있습니다 바라는점... OAuth2도 신규 강의로 내주실수 있나요 !!!

          • 정수원
            知識共有者

            소중한 평가 너무 감사합니다 긴 시간 완강 하신것도 축하 드립니다^^ 저의 강의를 뛰어넘어 smathj 님 만의 체계를 만들어 가시길 응원하겠습니다. 공부에 있어 그 어떤 것도 즐거움을 이길 수는 없습니다. smathj 의 평가에 그런 즐거움이 묻어나는 것 같아 저도 흐뭇합니다. OAuth2 는 계속 모니터링 하고 있습니다. 정확한 시기는 모르겠지만 꼭 필요한 시점에 더 업그레이드 된 내용으로 만날 수 있기를 저도 바래 봅니다 감사합니다.~~

        • 땃쥐님의 프로필 이미지
          땃쥐

          受講レビュー 16

          平均評価 5.0

          5

          40% 受講後に作成

          강의 시간이 36시간 55분이나 되다보니 처음 강의를 볼 때는 기겁하게 됩니다. 저도 이 부분에서 처음 학습할 때는 거부감이 들었습니다... 하지만 이 강의의 진가는 디버거를 통해 내부 동작 원리를 상세하게 설명해주시는 부분입니다. 강의 내에서 디버거를 통해 세부적인 동작 원리를 상세하게 파헤치는 것을 따라하면서 스스로 디버거를 사용하는 법을 익혀나가게 되고 개발역량 향상에 큰 도움이 되었습니다. 스프링 입문 단계(core, web, jpa, boot 학습, ..)를 거친 단계에서 이 강의를 따라하면서 디버거를 통해 내부 자동 설정 및 동작 흐름을 익혀가시면 시큐리티에 대한 이해도가 빠르게 성장하는 것을 느끼실 수 있습니다. 그리고 현재 기준으로 놓고보면 시큐리티 관련 자료들이 대부분 deprecated 되거나 사용되지 않는 것들을 기준으로 된 자료들이 많은데 이 강의는 6버전 및 그 이후를 염두해두고 강의가 만들어져있습니다. 이렇게 깊이 있게 시큐리티, 더 나아가서 특정 기술을 설명하는 강의, 자료를 찾아보기 힘듭니다. 정말 강력 추천하는 강의입니다.

          • 정수원
            知識共有者

            먼저 소중한 평가에 진심 감사드립니다^^ 저의 모든 강의 대부분이 꽤 긴 시간으로 제작이 되어 아마 땃쥐님처럼 학습하시기 전부터 많은 부담감을 가지고 있을거라 생각합니다 실제로 그렇기도 하구요 하지만 저 개인적으로는 강의 시간의 장단을 떠나 어떤 형태로든 수강생분들에게 가장 최적의 지식을 전달해야 한다는 철칙같은 기준과 원칙이 확고하기 때문에 비록 강의영상의 외적 모습이 잘 정제되고 고도화된 상품성은 가지지 못하더라도 내적 내용인 지식전달의 품질만큼은 결코 타협하거나 양보하지 않겠다는 의지가 강하다 보니 영상 시간이 예상보다 항상 늘어나게 되더군요!! 물론 적절하게 조절이 필요함을 항상 인지하고는 있습니다^^ 시간이 긴 만큼 어려운 부분은 반복해서 따라가시면 더욱 탄탄한 내공을 가지게 되실거라 생각합니다 그리고 디버깅의 매력을 느껴셨다니 제가 더 감사하네요^^ 실무에서도 잘 활용하시면 엄청난 도움이 되니 계속 습관처럼 발전시켜 나가시길 바랍니다 다시 한번 정성스런 평가 적어주셔서 감사드립니다

        期間限定セール

        ¥74,250

        25%

        ¥11,673

        leavenの他の講座

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

        似ている講座

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