강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Spring Security Complete Mastery [6.x Revised Edition]

This revised course was created using the latest version of Spring Security 6.x. From beginner to intermediate to advanced levels, you will learn the basic concepts of Spring Security, as well as how to use the API and its internal architecture. Based on this, you will complete a practical project and acquire core technologies related to Spring Security's authentication and authorization.

(4.9) 78 reviews

2,211 learners

  • leaven
백엔드개발자
스프링시큐리티
개정판
업데이트
Spring
Spring Boot
Spring Security
security
web-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.

Spring Security 6.x latest version completely revised!!

Spring Security 6.x offers significant changes and improvements over previous versions, and this tutorial focuses on those changes and new features .

Accordingly, many of the curriculum items have been changed or newly added compared to the existing Spring Security course. In particular , the authorization area of Spring Security has undergone significant changes compared to the previous version, to the point where the entire framework has been rewritten .
Therefore, this Spring Security Complete Mastery course analyzes and delves into the major changes and new features of Spring Security 6.x version in detail. If the students thoroughly learn each function and API through the theory and practice of this course, it will be of great help to those who have development experience in previous versions as well as those who are new to Spring Security in developing applications using Spring Security in a practical environment.


Courses for beginners, intermediate, and advanced learners

This course is designed for beginners who are new to Spring Security, as well as intermediate and advanced users who have basic knowledge or 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.

Key Learning Contents 💡

This course focuses on the core topics of Spring Security, focusing on five main axes: authentication, authorization, exploit protection, integration, and practical projects .

1. Authentication

Spring Security 6.x provides various methods for user authentication, including form-based authentication, basic authentication, and remember-me authentication. These authentication methods provide an effective means for users to prove their identity to the system. The authentication process verifies the user's identity by verifying the credentials provided by the user, and this process is centered around AuthenticationManager . After successful authentication, the user's authentication information is stored in SecurityContext within SecurityContextHolder , which is used to reference the user's authentication state throughout the application. Spring Security also manages user session information through session management, providing features such as concurrent session control, session policy configuration, session expiration, and session fixation protection to secure user sessions. It is also designed to handle various exceptions that may occur during the authentication process appropriately.


2. Authorization

Spring Security's authorization process determines whether a user is authorized to access a specific resource after authenticating. Spring Security 6.x allows you to configure URL-based or method-based authorization using HttpSecurity , and a new authorization architecture, including AuthorizationManager , allows you to implement more granular and flexible authorization policies. This allows developers to define access control policies tailored to their application's security requirements and evaluate the permissions of user requests to grant or deny access to resources. Authorization plays a critical role in strengthening application security and is crucial for protecting sensitive information and resources.

3. Protection Against Exploits

Spring Security 6.x provides features such as CORS, CSRF protection, and SameSite cookie settings to protect applications from various security threats. These security features protect applications from cross-site scripting and cross-site request forgery attacks, and keep user data and sessions safe. CORS settings allow developers to securely access resources from other domains, while CSRF protection prevents malicious websites from making requests on behalf of users. Setting the SameSite cookie attribute provides an additional layer of security by controlling how browsers transmit cookies.

4. Integrations

Spring Security 6.x provides tight integration with Servlet environments, Spring MVC, and Spring MVC asynchronous processing. This integration allows developers to easily add and configure security features to Spring-based applications. Servlet integration allows Spring Security to manage the security processing of HTTP requests and responses, while Spring MVC integration enables fine-grained security policies at the controller and service layers. Integration with asynchronous processing addresses the security needs of reactive programming models using Spring WebFlux, enabling developers to effectively manage security when building asynchronous and stream-based applications. This integration allows Spring Security to seamlessly integrate with various Spring application architectures and reduces the complexity of security implementation.

5. Practical Projects

Spring Security 6.x plays a key role in implementing member authentication and member management systems in real-world projects. This allows developers to effectively implement functions such as user authentication, authorization management, and resource access control. The member authentication system provides a foundation for strengthening application security, while the member management system manages the secure storage, retrieval, modification, and deletion of user information. Authorization management assigns different access rights to each user, while resource management controls access to sensitive information and functions within the application. Furthermore, Spring Security supports dynamic authorization configuration using Maps and databases, providing the flexibility to change or update permissions at runtime. These real-world implementations demonstrate the powerful features and flexibility of Spring Security, making it an essential tool for developers to meet security requirements.

Member authentication system

Member Management System

Course Structure and Detailed Curriculum 🏃

Section 1. Understanding the Initialization Process

  • We will cover in depth the initialization process that occurs when Spring Security starts up.

  • This book details how Spring Security prepares for operation, including the beans set up during initialization, the overall structure and flow, and the configuration of the filter chain. By understanding this process, developers will be able to grasp the fundamental operating principles of Spring Security and effectively apply necessary security settings.

Section 2. Authentication Process

  • Learn about different user authentication methods

  • We'll cover a variety of authentication mechanisms, including form-based authentication, Basic Authentication, and "remember-me" authentication, and learn how to choose and implement the authentication method that best suits your application's needs.

Section 3. Authentication Architecture

  • This section focuses on the authentication processing architecture and principles of Spring Security.

  • This document details the roles and interactions of core components, including object relationships, authentication managers, and authentication providers, during the authentication process. To facilitate understanding, it demonstrates how the authentication architecture can be applied in practice through various authentication flows and use cases.

Section 4. Authentication State Persistence

  • This section covers how to manage persistence, such as storing, referencing, and deleting authentication state.

  • Learn in detail how to set up and implement more efficient authentication state persistence compared to previous versions.

Section 5. Session Management

  • This section details concurrent session control, session stickiness protection, and session policy settings, including session lifecycle management such as creating, maintaining, expiring, and deleting session information.

Section 6. Exception Handling

  • This course presents a methodology for handling various exceptions that may arise during authentication and authorization processes. It emphasizes the importance of security-related exception handling, provides users with Kind error messages, and teaches exception handling strategies to maintain system security.

Section 7. Exploit Protection

  • Web applications are exposed to various security threats. Learn how to protect your applications from these threats using security mechanisms such as Cross-Origin Resource Sharing (CORS), Cross-Site Request Forgery (CSRF), and the SameSite cookie attribute.

Section 8. Authorization Process

  • Authorization determines what actions a user can perform within an application.

  • This document introduces various authorization methods, including URL-based and method-level authorization, and explains their application and security considerations. This guides developers to design and implement appropriate authorization policies that meet their application's security requirements.

Section 9. Authorization Architecture

  • We delve into the internal structure and principles of authorization processing.

  • We analyze core components, such as the authorization manager and authorization decision maker, and their relationships, and introduce how authorization architecture can address complex security requirements.

. Section 10. Event Handling

  • Spring Security provides mechanisms to handle events that occur during authentication and authorization.

  • Learn how to handle authentication and authorization events, and how to trigger and receive events under certain circumstances.

Section 11. Integration

  • Spring Security is tightly integrated with the Spring ecosystem.

  • It details how to integrate with the Servlet API and Spring MVC, and covers how to effectively integrate Spring Security into your Spring applications.

Section 12: Advanced Settings

  • Learn how to implement multi-security setups, redundancy setups, and security DSLs.

Section 13: Hands-on Projects

  • This unit moves from theory to practice, covering the overall application of Spring Security through the implementation of a member authentication system and a member management system.

Spring Security Roadmap

  • Complete Spring Security Mastery + Spring Security OAuth2

Who created this course
Introducing the knowledge sharer.

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

  • RDBMS

Hello
This is

10,069

Learners

351

Reviews

1,212

Answers

4.9

Rating

5

Courses

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

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

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

 

Curriculum

All

103 lectures ∙ (36hr 55min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

78 reviews

4.9

78 reviews

  • rocket700015862님의 프로필 이미지
    rocket700015862

    Reviews 2

    Average Rating 5.0

    5

    75% enrolled

    Tôi đang làm việc trên một dự án nhưng tôi đang gặp khó khăn rất nhiều về vấn đề bảo mật và xác thực/ủy quyền. Tôi đã học được quy trình chung thông qua một khóa học miễn phí ở nơi khác (Spring Security 5.x) mã hóa nhân bản và sau đó được mã hóa bằng cách sửa đổi mã nguồn trên blog để phù hợp với dự án của tôi, nhưng tôi cảm thấy rằng phương pháp đó là chưa đủ. Hầu hết các sách và bài giảng hiện có đều dựa trên phiên bản Spring Security 5.x nên có nhiều điểm khác biệt so với 6.x. Đặc biệt, trong phần cài đặt bảo mật, 5.x sử dụng các phương thức đơn giản, nhưng bắt đầu từ 6.x, bắt buộc phải có biểu thức lambda nên tôi gặp rắc rối khi phải google từng cái một để xem điều này có đúng không. Sau khi tìm hiểu trên Google và tìm hiểu Spring Security in Action phiên bản thứ 2, tôi đã áp dụng JWT và OAuth2 cho dự án với GPT4 và máy chủ đã hoạt động, nhưng tôi rất khó chịu vì thực tế là việc xác thực/ủy quyền được áp dụng mà không có sự hiểu biết đúng đắn, vì vậy tôi đã nghe giảng . Tôi tự hỏi điều gì sẽ xảy ra nếu có nhiều điểm trùng lặp với phiên bản thứ 2 của Spring Security in Action, nhưng bạn có thể làm rõ các khái niệm mơ hồ bằng cách chỉ ra những chi tiết không có trong cuốn sách. Nếu bạn mới học lần đầu thì mình khuyên bạn không nên bị lạc bởi Google + phiên bản 5.x + ChatGPT4 hoặc 4o (hầu hết dữ liệu học tập là phiên bản 5.x nên có rất nhiều mã không dùng nữa) + chỉ cần học bài này thôi😭 + Nếu bạn mới làm quen với Spring Security thì hãy sử dụng Spring Security in Action 2nd (version 6.x trở lên) do Manning bán + Tài liệu chính thức gợi ý. Nghiên cứu phiên bản 5.x không được khuyến khích.

    • pinako님의 프로필 이미지
      pinako

      Reviews 2

      Average Rating 4.5

      4

      37% enrolled

      Ông giải thích nó rất chi tiết và giải thích các nguyên tắc một cách kỹ lưỡng. Tuy nhiên... cách phát âm còn nhiều điều chưa tốt. Ngoài ra, có rất nhiều trường hợp mọi người không hiểu vì họ có tiếng địa phương. Nó khó hơn rất nhiều so với các bài giảng khác. Cảm ơn bạn vì bài giảng tuyệt vời.

      • alsry922님의 프로필 이미지
        alsry922

        Reviews 17

        Average Rating 4.7

        4

        76% enrolled

        Tôi chỉ lắng nghe những gì tôi nghĩ là cần thiết. Mặc dù các bài giảng rất dài nhưng tôi khuyên bạn nên xem chúng ba lần. Lúc đầu, tôi không hiểu chuyện gì đang xảy ra, nhưng tôi tự hỏi liệu mình có nên tiếp tục nghe điều này hay không. Khi tôi nghe nó lần thứ hai, tôi đã có một ý tưởng chung về cảm giác của nó. Nếu tôi nghe nó một lần nữa, tôi nghĩ tôi sẽ hiểu được hầu hết nội dung. Tôi đã chơi nó hai lần nên tôi sẽ nghe lại một lần nữa. Hơi thất vọng một chút là phát âm hơi khó nghe qua bụng và phản hồi về các câu hỏi của cộng đồng có vẻ hơi chậm... Ngoài ra, có vẻ như bạn có thể tìm hiểu khá nhiều thứ về Spring Security bằng cách nghiên cứu nó. Khuyến khích!

        • smathj9975님의 프로필 이미지
          smathj9975

          Reviews 34

          Average Rating 5.0

          5

          100% enrolled

          Cuối cùng tôi đã bướng bỉnh.!!! Trước hết, tôi rất thích phiên bản cuối cùng của bài giảng. Mình thích bản Security 6 này hơn 5 bản trước! Người hướng dẫn nói về phiên bản mới. Bạn đưa rất nhiều phân tích vào việc tạo ra bài giảng. Bạn càng tham gia khóa học nhiều, bạn càng học được nhiều Tôi đang viết ra một vài tính năng phòng trường hợp chúng có thể hữu ích cho người khác. 1. Đặt phần khởi tạo bộ lọc ở phía trước lá. Tôi cũng rất hài lòng với quá trình khởi tạo và thực tế là nó đã được đặt lên hàng đầu. 2. Tách phần lý thuyết và phần thực hành Bài giảng được chia thành từng phần nên kéo dài khoảng 20 đến 30 phút. Thật dễ dàng để thấy 3. Quản lý chi nhánh theo từng bộ phận Nó rất hữu ích cho việc tham gia khóa học vì mỗi phần được chia thành các nhánh. 4. Sức thuyết giảng Không còn nghi ngờ gì nữa về khả năng giảng dạy của anh ấy, đây là một trong những bài giảng hoặc sách giáo khoa về bảo mật hay nhất mà tôi từng xem. Đó thực sự là một bài giảng nhẹ nhàng và muối. Rất nhiều điều xảy ra chỉ bằng cách thêm thư viện và bật máy chủ... Tôi thích nó vì nó không phải là một bài giảng chỉ kết thúc bằng việc sử dụng hàm. Ngoài ra, bạn có thể phát triển cái nhìn sâu sắc về các công nghệ Spring khác nhau. Điều tôi ước... Bạn cũng có thể cung cấp OAuth2 làm khóa học mới không!!!

          • leaven
            Instructor

            Cảm ơn bạn rất nhiều vì đánh giá có giá trị của bạn. Chúc mừng bạn đã hoàn thành khóa học trong một thời gian dài ^^ Tôi sẽ hỗ trợ Smathj vượt xa những bài giảng của mình và tạo ra hệ thống của riêng anh ấy. Không gì có thể đánh bại được niềm vui học tập. Tôi cũng rất vui khi thấy niềm vui đó được thể hiện qua đánh giá của smathj. OAuth2 được theo dõi liên tục. Tôi không biết chính xác thời gian nhưng tôi hy vọng sẽ thấy được nhiều nội dung nâng cấp hơn khi thực sự cần thiết. Cảm ơn bạn.~~

        • ttasjwi님의 프로필 이미지
          ttasjwi

          Reviews 16

          Average Rating 5.0

          5

          40% enrolled

          Vì bài giảng kéo dài 36 giờ 55 phút nên bạn sẽ bị sốc khi xem lần đầu. Tôi cũng cảm thấy miễn cưỡng khi mới bắt đầu tìm hiểu về phần này... Tuy nhiên, giá trị thực sự của bài giảng này là nó giải thích chi tiết các nguyên tắc vận hành nội bộ thông qua trình gỡ lỗi. Khi tôi đi sâu vào các nguyên tắc hoạt động chi tiết thông qua trình gỡ lỗi trong bài giảng, tôi đã học được cách tự mình sử dụng trình gỡ lỗi, điều này giúp ích rất nhiều trong việc cải thiện khả năng phát triển của tôi. Nếu bạn theo dõi bài giảng này sau khi trải qua các giai đoạn giới thiệu của Spring (learning core, web, jpa, boot, v.v.) và tìm hiểu quy trình vận hành và cấu hình tự động nội bộ thông qua trình gỡ lỗi, bạn sẽ cảm thấy hiểu biết của mình về bảo mật ngày càng tăng nhanh. Và theo tiêu chuẩn hiện tại, hầu hết các tài liệu liên quan đến bảo mật đều không được dùng nữa hoặc dựa trên các tài liệu không được sử dụng, nhưng bài giảng này được tạo ra với phiên bản 6 trở lên. Thật khó để tìm thấy các bài giảng hoặc tài liệu giải thích về bảo mật, hoặc thậm chí các công nghệ cụ thể một cách sâu sắc như vậy. Đây là khóa học tôi đánh giá cao.

          • leaven
            Instructor

            Trước hết xin cảm ơn đánh giá quý giá của bạn ^^ Hầu hết các bài giảng của tôi được thực hiện trong một khoảng thời gian khá dài nên tôi nghĩ có lẽ bạn sẽ cảm thấy rất áp lực trước khi học chúng, giống như Shrew. Thực tế, điều đó đúng. Tuy nhiên, cá nhân tôi có một tiêu chuẩn và nguyên tắc vững chắc là những kiến ​​thức tối ưu nhất phải được truyền tải đến học viên dưới mọi hình thức bất kể thời lượng bài giảng là bao nhiêu, nên dù hình thức bên ngoài của video bài giảng không có sự trau chuốt, nâng cao. Tuy nhiên, vì tôi có ý chí mạnh mẽ là không bao giờ thỏa hiệp hay thỏa hiệp về chất lượng truyền tải kiến ​​thức nên thời lượng video luôn kéo dài hơn dự kiến!! Tất nhiên, chúng tôi luôn ý thức được việc điều chỉnh phù hợp là cần thiết ^^ Vì thời gian dài nên tôi nghĩ rằng nếu bạn làm theo những phần khó nhiều lần, bạn sẽ phát triển được những kỹ năng mạnh mẽ hơn. Và tôi càng biết ơn hơn vì bạn đã cảm nhận được sức hấp dẫn của việc sửa lỗi ^^ Nó sẽ giúp ích rất nhiều nếu bạn sử dụng nó tốt trong thực tế, vì vậy tôi hy vọng bạn sẽ tiếp tục phát triển nó như một thói quen. Cảm ơn bạn một lần nữa vì đánh giá chân thành của bạn.

        $77.00

        leaven's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!