강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Spring Security

From beginner to intermediate to advanced level, you will learn the basic concepts of Spring Security, API usage, and internal architecture, and by completing a practical project based on this, you will learn the core technologies related to Spring Security authentication and authorization.

(4.7) 229 reviews

3,770 learners

  • leaven
Java
Spring Boot
Spring Security

Reviews from Early Learners

What you will gain after the course

  • Complete mastery of Spring Security's basic API and related filters

  • Understanding the internal architecture of Spring Security and the roles and relationships between objects

  • Understanding Spring Security's authentication principles and internal workings

  • Understanding Spring Security's authorization principles and internal workings

  • Understanding how to integrate Spring Security and Spring MVC

  • Learn how to build a practical security system using Spring Security.

Learn and apply the most core technologies of Spring Security.

1. Introduction to the Core Spring Security Course

Spring Security provides a powerful API for implementing authentication and authorization control features.
You can implement a secure security system at a very low cost by using only the APIs provided by default.

This course is designed for users who have no idea how to use Spring Security at all, as well as those who have basic knowledge and experience but want to acquire more in-depth knowledge and deeply understand the core principles, internal structure, and operating methods of Spring Security and apply them .

This course focuses on the two core concepts of Spring Security: authentication and authorization.

[certification]
Spring Security supports various authentication methods, including Form, OAuth, JWT, and LDAP. This lecture will look at the Form authentication method.
Many web services implement security based on Form authentication, so it is an authentication method that you must fundamentally understand.

[impression]
Spring Security supports web layer authorization, service layer authorization, and domain layer authorization (ACL) access control features.
This course explores web-layer and service-layer authorization approaches.
In particular, in the fifth section, Practical Project Authorization, you will learn how to link with a database to enable dynamic permission control at a practical level.
If you learn the technology to link authorization control of the business layer as well as the web layer to the DB, it is expected to be very useful in actual operational services.

This course is divided into four major parts as follows:

  • Understanding Spring Security's basic API usage and related filters
  • Understanding Spring Security's internal architecture and how it works
  • Implementing Spring Security Authentication Processes Through Practical Projects
  • Implementing Spring Security Authorization Processes Through Practical Projects - Implementing an Authorization Control System Through DB Integration

2. Deep dive into the internal architecture and operating principles.

You can implement authentication and authorization functions using Spring Security's basic API, but as the system grows in size and security requirements increase, it becomes difficult to meet the security functions you want to implement using only the basic API provided.

In order to freely extend the functionality of Spring Security and customize it in various ways to suit your needs , you must deeply understand the internal architecture of Spring Security and the overall operating principles and corresponding flows of how authentication and authorization are processed .

Additionally, this is essential information to understand the exact causes and solutions to various security errors that may unexpectedly occur when building a security system in conjunction with Spring MVC.

By taking this course, you will be able to acquire this knowledge and apply it in practice.

3. Implementation of a DB linkage permission control system

The authorization methods provided by Spring Security can be divided into two types.

The first is a declarative method that directly specifies permission information in the configuration file for a client's request, and the second is a dynamic method that manages permission information based on a map by linking with an external storage .

The first method is that as the system grows in size, the types and configurations of permissions become more complex. Managing authorization policies individually through configuration files is very inefficient and costs a lot of money in terms of maintenance.

To address these issues, Spring Security supports managing authorization policies in external storage, such as memory or DB, rather than directly managing authorization policies in configuration files.

This course will look at both the declarative approach, which is specified in the configuration file, and the dynamic approach, which is linked to the database. In particular, we will look at URL-based authorization control in the web layer, as well as Method and Pointcut-based authorization control in the business layer .

This will teach you how to implement a real-time dynamic permission control system without starting the server even when operating the service .

4. Complete the practical project

After studying the first and second sections of this course, you will proceed to understand the functions of Spring Security by completing practical projects from the third to the sixth sections.

[user]
It consists of screens such as Dashboard, User, Manager, and Preferences, and authentication and authorization policies are set and tested for each menu.
Authentication preparation and processing is done through the member registration and login page.

[manager]
It provides screens such as user management, permission management, and resource management, and is accessible only to users with administrator rights.
It is configured to enable dynamic management of permissions and resources through real-time CRUD processing of each function.
By setting user permissions through DB linking, you can check the results immediately on the user screen.

In practical projects, you will work in conjunction with technologies such as Spring Boot, Spring MVC, and Spring JPA.
We recommend that you study this course in advance before taking it, and you can learn Spring integration technologies in parallel while taking the course.
The important thing is to understand the core features of Spring Security, so it won't be a big problem to gradually understand the above linking techniques.

5. Introduction of knowledge sharers

Jeongsuwon (leaven)

  • Current Java developer
  • Experience in various projects in SI/SM/solution/mobile/front & back-end
  • Performing roles as Architect/PM/PL
  • Github

Recommended for
these people

Who is this course right for?

  • For those who want to clearly understand the basic concepts of Spring Security

  • Those who want to freely extend and customize functions beyond the basic functions of Spring Security.

  • Anyone who wants to implement a practical authentication and authorization control system using Spring Security

  • It consists of content that can be used by anyone from beginners to intermediate to advanced users of Spring Security.

Need to know before starting?

  • Java

  • Spring Boot

  • Spring MVC

  • Spring JPA

Hello
This is

10,076

Learners

352

Reviews

1,212

Answers

4.9

Rating

5

Courses

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

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

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

 

Curriculum

All

64 lectures ∙ (20hr 58min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

229 reviews

4.7

229 reviews

  • semineun8975님의 프로필 이미지
    semineun8975

    Reviews 4

    Average Rating 5.0

    5

    59% enrolled

    コムゴン4年生です。 Spring Securityの場合、Googleで検索してもたくさんの資料が出てきて、spring.ioで公式リファレンスを参照するのも良い方法です。ただし、セキュリティの場合、散在している情報を再結合するプロセスは非常に困難です。すぐに何も知らずにGoogleで検索をしてもSecurityConfigを 'どのように'設定するが教えてくれ、それを'なぜ'書くかどうかはよくわかっていないので、個人プロジェクトに適用すると本当に数多くのエラーが発生します。 私の主観的な考えですが、セキュリティについて何も知らない状況であれば、この講義を信じて購入することが直接検索して探す時間のコストよりもはるかに安いと確信しています。 もし講義を聞くなら、1~2とは最初にスキップしてすぐに実習に行くのがよさそうです。 実習を進めているのになぜなのか詰まる部分があれば、その都度該当1~2章の詳細なAPIの説明を見ると、理解も良くなり、体化される速度も速いですよね。 例えば、Authentication Flowを理論だけで聞いたときはかなり難解でしたが、実習3章で直接私のプロジェクトに適用させて再度聞いてみると、フローチャートが一度に目に入っていました。 PPTも各段階別に目立つように整理をしっかりしておいて、一生持っていってもいいほどの資料です。 私のように、過去にプロジェクトで単純にパスワード値をDBに暗号化せずにダイレクトに送ったり… 会員登録するすべての会員が他の人が書いた投稿を消すことができるか…イチオシです。

    • leaven
      Instructor

      丁寧な大切な評価を残していただきありがとうございます。 今は以前よりずっと多くの資料があふれていますが、実際に実務的に活用できるようなソースや内容を見つけて、有意な形の機能に発展させることが容易ではないのも事実です。 おっしゃったように順番に講義を聞くのも良いですが、本人のレベルと理解度に合わせて講義を聞くのも良い方法だと思います。 Faustの熱意と意志であれば、この講義を超えてはるかに多くの知識を身につけることができると確信しています。 本講義は少なくない時間で製作されているので大変ですが最後まで完走していただき、本講義が目的とするバーを全て行っていただきたいと思います。 もう一度大切な評価を残していただきありがとうございます。

  • sorayeon님의 프로필 이미지
    sorayeon

    Reviews 81

    Average Rating 5.0

    5

    97% enrolled

    講義に陥って何週間も別れていません。 提供してくださる資料も膨大で質問回答掲示板に回答いただく内容だけを見ても知識共有者の内公が感じられます。 頑張ってから早くもう一度聞かなければならないようです。 宝石のような講義を発見することができて嬉しいですね。 次の講義も楽しみにしています。良い講義を作ってくれてありがとう。 ^___^

    • leaven
      Instructor

      足りない講義なのに誇張してくれればさらに肩が重くなります 大切な評価ありがとうございます。 短い時間に大量の講義を聞いたことを見ると、学びと学習の情熱がすごいようです。 それほど大きな報酬が与えられると信じて疑いません。 最後までファイティングです。^^

  • skygomu3801님의 프로필 이미지
    skygomu3801

    Reviews 1

    Average Rating 5.0

    5

    75% enrolled

    まだapiとアーキテクチャの部分しか見ていませんが、とても良いコースです jsp、スプリングを勉強しながらセキュリティや権限をもっと詳しく扱いたい インターネットを見てみても、私は初心者レベルです。 最良の点は講義がとてもフレンドリーです 提供してくれる資料でも定性が感じられ、私のような初心者も理解できるほど継続して概念を繰り返し説明してくれます 最初は概念が多くてとても難しくデバッグしてくださるのもわかりませんでした。 手書きで頑張ってフォローするだけで、今では全体的な流れが見え始めます。 良い講義を作ってくれてありがとう

    • leaven
      Instructor

      不足している講義でも役に立ちました。本当にありがとうございました^^ 講義を聞きながらご質問がございましたら、お気軽にお問い合わせください。 講義が少し長くて完走するのは簡単ではありませんが、最後まで聞くと努力した分の補償が付いてくると思います。 良い評価をいただきありがとうございます。

  • naelina님의 프로필 이미지
    naelina

    Reviews 1

    Average Rating 5.0

    5

    91% enrolled

    国内外ともに統一して本当に心から見る珍しいスプリングセキュリティ講座だとあえて言えます。 浄水院講師様の講義3つをすべて聴いていますが、各講座ごとに講義内容、資料準備、デバッグを通じた内部構造の掘り下げ、全体アーキテクチャ分析など、浄水院講師様だけの講義パターン方式に絶対感心が出ます。 とセキュリティをこのように掘り下げますね… おそらくセキュリティを開発した開発者たちもこの講義を見れば感心するようです。 ご存知でしょうが、Spring Securityはランニングカーブが大きく、中級開発者も内部構造と流れを深く理解することは容易ではありませんが、この講義は入門者から中級以上の開発者にも十分な技術的基盤知識を伝えています。 適切な理論と適切な実習をうまく配合し、難しいセキュリティが魔法に惹かれたように難しく感じられないように、非常に詳細で簡単に説明しています。 特によく準備されたPPT資料の概略図とダイアグラムを通じて、スプリングセキュリティの構造と流れを詳しく説明し、これをコードとしてデバッグして証明する部分は、この講義の圧巻であり、講師のノウハウのようです。私もこのような進行方式を注目してみながら一つずつ学んでいます。 この講義を聞く前はセキュリティに従う方法を知るレベルでしたが、この講義を聞いてからはAPI、フィルタ構造、認証/認可内部フロー、動的認可制御方法などセキュリティの基本機能だけでなく、状況に応じて自由に機能を拡張とカストマイジングできる活用能力を備えることができるようになったのですが、実に途方もないレベルの講義だと評価したいと思います。 インファランの講座の中でも、手に挙げても良いほどのクオリティと情報を提供してくれていると思います。 実はセキュリティ講義は講義したいと誰も講義できる技術ではないので、この講義がより価値があるようです。 もし私一人でこの程度の知識を独学に摂り込もうとしたら、どれほど大変で難しかったのかを聞いてみると、さらに悟ります。 Googleでセキュリティを検索すると、講師の講義内容が多く検索されるのを見ると、進入障壁が高かったセキュリティ知識を多くの開発者に伝播するようになり、進入障壁を下げる役割をしていただきありがとうございます。 講義中に説明内容と提供してくれる羽毛ソースと部分的に同期できないアロ事があったが幸い講師が講義とマッピングされるソースのブランチ名をエクセルでよく整理してくださって従うのに一層容易でしたし、講義内容と実際の実習が違います。がありましたが、全体的な内容を理解するにはあまり困難はありませんでした。 それでも、このような小さな部分も、次の講義の時はもっと細心の注意を払っていただきたいと思います。 今、私は浄水院の講師の次の講義を待って期待されています 先輩のような開発者の知識共有により、私たちの後輩開発者は最小限の試行錯誤を受けるようになります。 これからも講師様の知識共有活動を心から応援いたします。 ありがとうございます。

    • leaven
      Instructor

      とても良い評価をいただきありがとうございます 受講生の方々の立場でたくさん悩んで研究してきた講義ですが、いろいろ不足している部分が多いです。 いつも謙虚な心で準備し、コミュニケーションし、一緒に成長する講義になるよう努力します naelinaさんの成長を応援しています ありがとう

  • catsbi님의 프로필 이미지
    catsbi

    Reviews 14

    Average Rating 4.7

    4

    100% enrolled

    pptも分量が膨大で、講義量も膨大です。 APIを一つ一つメソッド単位で切り分けて説明してくれますが、 単に使い方を学ぶのではなく、Spring Securityが何で、どのように戻って、なぜこれをするのかを把握するのに多くの役に立った講義です。 Gitに行ってソースを受け取ることもできます。 残念なことは、講義のステップごとにコード作成に従いたいのに、 gitは完成本だけで、講義ではその講義で実装する機能を全て詳細に見せたりするのではなく、Gitも講義内容とは違って、もう少しリファクタリングや最新化されているコードがかなりあって、混乱したり分かって適当に合わせなければならない方が思ったより疲れます。そのような部分を除けば満足して2回目でもう一度講義を受けて熟練度を高める予定です。

    • leaven
      Instructor

      はい、ありがとうございます。 講義時間や資料を製作して整理するとき、最初に計画したよりもほぼ倍増しました。 量が多いと無条件に良いわけではありませんが、この講義を通じて伝えようとした内容を込めようと努力してみると、講義時間や構成内容がずっと追加されました。 単にAPIの使い方を学ぶことを超えて、原理を理解し、アプリケーションを育てる方法を提示したいと思いました。 なるべく学習者が講義を見ながら実際のコーディングに従いながら学習するように進めましたが、各レッスンごとにソースを区別して提供できなかった点が私も残念です。 次の講義を制作したら、ぜひ参考にして反映させていただきます。 長い時間の間、大変な過程を完走していただくために多くのことがありました。 役に立つ平を残してくれてありがとう。

leaven's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!