강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Cuộc chinh phục hoàn toàn bảo mật mùa xuân [Phiên bản sửa đổi 6.x]

Đây là bài giảng sửa đổi được biên soạn bằng phiên bản mới nhất của Spring Security 6. Bạn sẽ học các kỹ năng chính liên quan đến và công nhận.

(4.9) 78 đánh giá

2,211 học viên

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

Đánh giá từ những học viên đầu tiên

Bạn sẽ nhận được điều này sau khi học.

  • Chinh phục hoàn toàn API cơ bản của Spring Security và các bộ lọc liên quan

  • Hiểu kiến ​​trúc bên trong của Spring Security cũng như các vai trò và luồng mối quan hệ giữa các đối tượng

  • Tìm hiểu nguyên tắc xác thực và hoạt động nội bộ của Spring Security

  • Tìm hiểu nguyên tắc ủy quyền và hoạt động nội bộ của Spring Security

  • Hiểu cách kết nối Spring Security và Spring MVC

  • Tìm hiểu cách xây dựng hệ thống bảo mật ở cấp độ thực tế bằng Spring Security

Phiên bản mới nhất của Spring Security 6.x đã được sửa đổi hoàn toàn!!

Spring Security 6.x cung cấp những thay đổi và cải tiến đáng kể so với các phiên bản trước và hướng dẫn này tập trung vào những thay đổi và tính năng mới đó .

Theo đó, nhiều nội dung chương trình giảng dạy đã được thay đổi hoặc bổ sung mới so với khóa học Spring Security hiện tại. Đặc biệt , khu vực phân quyền của Spring Security đã có những thay đổi đáng kể so với phiên bản trước, đến mức toàn bộ khung chương trình đã được viết lại .
Do đó, khóa học Spring Security Complete Mastery này sẽ phân tích và đào sâu vào những thay đổi chính và các tính năng mới của phiên bản Spring Security 6.x một cách chi tiết. Việc học viên nắm vững từng chức năng và API thông qua lý thuyết và thực hành của khóa học này sẽ rất hữu ích cho những người đã có kinh nghiệm phát triển ở các phiên bản trước, cũng như những người mới làm quen với Spring Security trong việc phát triển ứng dụng sử dụng Spring Security trong môi trường thực tế.


Các khóa học dành cho người mới bắt đầu, trung cấp và nâng cao

Khóa học này được thiết kế dành cho người mới bắt đầu làm quen với Spring Security cũng như người dùng trung cấp và nâng cao có kiến thức hoặc kinh nghiệm cơ bản nhưng muốn có thêm kiến thức chuyên sâu hơn và hiểu sâu sắc các nguyên tắc cốt lõi, cấu trúc bên trong và phương pháp vận hành của Spring Security và áp dụng chúng.

Nội dung học tập chính 💡

Khóa học này tập trung vào các chủ đề cốt lõi của Spring Security, tập trung vào năm trục chính: xác thực, ủy quyền, bảo vệ khai thác, tích hợp và các dự án thực tế .

1. Xác thực

Spring Security 6.x cung cấp nhiều phương thức xác thực người dùng, bao gồm xác thực dựa trên biểu mẫu, xác thực cơ bản và xác thực ghi nhớ. Các phương thức xác thực này cung cấp một phương tiện hiệu quả để người dùng chứng minh danh tính của họ với hệ thống. Quá trình xác thực xác minh danh tính của người dùng bằng cách kiểm tra thông tin đăng nhập do người dùng cung cấp và quá trình này tập trung vào AuthenticationManager . Sau khi xác thực thành công, thông tin xác thực của người dùng được lưu trữ trong SecurityContext bên trong SecurityContextHolder , được sử dụng để tham chiếu trạng thái xác thực của người dùng trong toàn bộ ứng dụng. Spring Security cũng quản lý thông tin phiên của người dùng thông qua quản lý phiên, cung cấp các tính năng như kiểm soát phiên đồng thời, cấu hình chính sách phiên, hết hạn phiên và bảo vệ cố định phiên để bảo mật các phiên của người dùng. Nó cũng được thiết kế để xử lý các ngoại lệ khác nhau có thể xảy ra trong quá trình xác thực một cách phù hợp.


2. Ủy quyền

Quy trình ủy quyền của Spring Security xác định liệu người dùng có được phép truy cập một tài nguyên cụ thể sau khi xác thực hay không. Spring Security 6.x cho phép bạn cấu hình ủy quyền dựa trên URL hoặc dựa trên phương thức bằng HttpSecurity , và kiến trúc ủy quyền mới, bao gồm AuthorizationManager , cho phép bạn triển khai các chính sách ủy quyền chi tiết và linh hoạt hơn. Điều này cho phép các nhà phát triển xác định các chính sách kiểm soát truy cập phù hợp với yêu cầu bảo mật của ứng dụng và đánh giá quyền của người dùng trong việc cấp hoặc từ chối quyền truy cập vào tài nguyên. Ủy quyền đóng vai trò quan trọng trong việc tăng cường bảo mật ứng dụng và rất quan trọng để bảo vệ thông tin và tài nguyên nhạy cảm.

3. Bảo vệ chống lại các cuộc tấn công

Spring Security 6.x cung cấp các tính năng như bảo vệ CORS, CSRF và cài đặt cookie SameSite để bảo vệ ứng dụng khỏi nhiều mối đe dọa bảo mật khác nhau. Các tính năng bảo mật này bảo vệ ứng dụng khỏi các cuộc tấn công cross-site scripting và cross-site request forgery, đồng thời giữ an toàn cho dữ liệu và phiên làm việc của người dùng. Cài đặt CORS cho phép nhà phát triển truy cập tài nguyên từ các miền khác một cách an toàn, trong khi bảo vệ CSRF ngăn chặn các trang web độc hại thực hiện yêu cầu thay mặt người dùng. Việc thiết lập thuộc tính cookie SameSite cung cấp một lớp bảo mật bổ sung bằng cách kiểm soát cách trình duyệt truyền cookie.

4. Tích hợp

Spring Security 6.x cung cấp khả năng tích hợp chặt chẽ với môi trường Servlet, Spring MVC và xử lý bất đồng bộ Spring MVC. Sự tích hợp này cho phép các nhà phát triển dễ dàng thêm và cấu hình các tính năng bảo mật cho các ứng dụng dựa trên Spring. Tích hợp Servlet cho phép Spring Security quản lý việc xử lý bảo mật của các yêu cầu và phản hồi HTTP, trong khi tích hợp Spring MVC cho phép các chính sách bảo mật chi tiết ở các lớp điều khiển và dịch vụ. Tích hợp với xử lý bất đồng bộ đáp ứng nhu cầu bảo mật của các mô hình lập trình phản ứng sử dụng Spring WebFlux, cho phép các nhà phát triển quản lý bảo mật hiệu quả khi xây dựng các ứng dụng bất đồng bộ và dựa trên luồng. Sự tích hợp này cho phép Spring Security tích hợp liền mạch với nhiều kiến trúc ứng dụng Spring khác nhau và giảm độ phức tạp của việc triển khai bảo mật.

5. Dự án thực tế

Spring Security 6.x đóng vai trò quan trọng trong việc triển khai hệ thống xác thực thành viên và quản lý thành viên trong các dự án thực tế. Điều này cho phép các nhà phát triển triển khai hiệu quả các chức năng như xác thực người dùng, quản lý ủy quyền và kiểm soát truy cập tài nguyên. Hệ thống xác thực thành viên cung cấp nền tảng để tăng cường bảo mật ứng dụng, trong khi hệ thống quản lý thành viên quản lý việc lưu trữ, truy xuất, sửa đổi và xóa thông tin người dùng một cách an toàn. Quản lý ủy quyền gán các quyền truy cập khác nhau cho mỗi người dùng, trong khi quản lý tài nguyên kiểm soát quyền truy cập vào thông tin và chức năng nhạy cảm trong ứng dụng. Hơn nữa, Spring Security hỗ trợ cấu hình ủy quyền động bằng cách sử dụng Bản đồ và cơ sở dữ liệu, mang lại sự linh hoạt để thay đổi hoặc cập nhật quyền khi chạy. Những triển khai thực tế này chứng minh các tính năng mạnh mẽ và tính linh hoạt của Spring Security, biến nó thành một công cụ thiết yếu cho các nhà phát triển để đáp ứng các yêu cầu bảo mật.

Hệ thống xác thực thành viên

Hệ thống quản lý thành viên

Cấu trúc khóa học và chương trình giảng dạy chi tiết 🏃

Phần 1. Hiểu về quy trình khởi tạo

  • Chúng tôi sẽ trình bày sâu hơn về quá trình khởi tạo diễn ra khi Spring Security khởi động.

  • Cuốn sách này trình bày chi tiết cách Spring Security chuẩn bị cho hoạt động, bao gồm các bean được thiết lập trong quá trình khởi tạo, cấu trúc và luồng tổng thể, cũng như cấu hình chuỗi bộ lọc. Bằng cách hiểu quy trình này, các nhà phát triển sẽ có thể nắm bắt các nguyên tắc vận hành cơ bản của Spring Security và áp dụng hiệu quả các thiết lập bảo mật cần thiết.

Mục 2. Quy trình xác thực

  • Tìm hiểu về các phương pháp xác thực người dùng khác nhau

  • Chúng tôi sẽ đề cập đến nhiều cơ chế xác thực khác nhau, bao gồm xác thực dựa trên biểu mẫu, Xác thực cơ bản và xác thực "ghi nhớ tôi", đồng thời tìm hiểu cách chọn và triển khai phương pháp xác thực phù hợp nhất với nhu cầu của ứng dụng.

Mục 3. Kiến trúc xác thực

  • Phần này tập trung vào kiến trúc xử lý xác thực và các nguyên tắc của Spring Security.

  • Tài liệu này trình bày chi tiết vai trò và tương tác của các thành phần cốt lõi, bao gồm mối quan hệ đối tượng, trình quản lý xác thực và nhà cung cấp xác thực, trong quá trình xác thực. Để giúp bạn dễ hiểu hơn, tài liệu trình bày cách kiến trúc xác thực có thể được áp dụng trong thực tế thông qua các luồng xác thực và trường hợp sử dụng khác nhau.

Mục 4. Duy trì trạng thái xác thực

  • Phần này trình bày cách quản lý tính bền vững, chẳng hạn như lưu trữ, tham chiếu và xóa trạng thái xác thực.

  • Tìm hiểu chi tiết cách thiết lập và triển khai tính năng duy trì trạng thái xác thực hiệu quả hơn so với các phiên bản trước.

Mục 5. Quản lý phiên

  • Phần này trình bày chi tiết về kiểm soát phiên đồng thời, bảo vệ độ bám dính phiên và cài đặt chính sách phiên, bao gồm quản lý vòng đời phiên như tạo, duy trì, hết hạn và xóa thông tin phiên.

Mục 6. Xử lý ngoại lệ

  • Khóa học này trình bày phương pháp xử lý các ngoại lệ khác nhau có thể phát sinh trong quá trình xác thực và ủy quyền. Khóa học nhấn mạnh tầm quan trọng của việc xử lý ngoại lệ liên quan đến bảo mật, cung cấp cho người dùng thông báo lỗi Kind và hướng dẫn các chiến lược xử lý ngoại lệ để duy trì bảo mật hệ thống.

Mục 7. Bảo vệ chống khai thác

  • Các ứng dụng web phải đối mặt với nhiều mối đe dọa bảo mật khác nhau. Tìm hiểu cách bảo vệ ứng dụng của bạn khỏi những mối đe dọa này bằng các cơ chế bảo mật như Chia sẻ Tài nguyên Nguồn gốc (CORS), Giả mạo Yêu cầu Liên trang (CSRF) và thuộc tính cookie SameSite.

Mục 8. Quy trình ủy quyền

  • Quyền hạn xác định những hành động mà người dùng có thể thực hiện trong ứng dụng.

  • Tài liệu này giới thiệu nhiều phương pháp ủy quyền khác nhau, bao gồm ủy quyền dựa trên URL và ủy quyền cấp phương thức, đồng thời giải thích các cân nhắc về ứng dụng và bảo mật của chúng. Tài liệu này hướng dẫn các nhà phát triển thiết kế và triển khai các chính sách ủy quyền phù hợp đáp ứng các yêu cầu bảo mật của ứng dụng.

Mục 9. Kiến trúc ủy quyền

  • Chúng tôi đi sâu vào cấu trúc bên trong và các nguyên tắc của quá trình xử lý ủy quyền.

  • Chúng tôi phân tích các thành phần cốt lõi, chẳng hạn như trình quản lý ủy quyền và người ra quyết định ủy quyền, cũng như mối quan hệ của chúng và giới thiệu cách kiến trúc ủy quyền có thể giải quyết các yêu cầu bảo mật phức tạp.

. Mục 10. Xử lý sự kiện

  • Spring Security cung cấp cơ chế xử lý các sự kiện xảy ra trong quá trình xác thực và ủy quyền.

  • Tìm hiểu cách xử lý các sự kiện xác thực và ủy quyền, cũng như cách kích hoạt và nhận sự kiện trong một số trường hợp nhất định.

Mục 11. Tích hợp

  • Spring Security được tích hợp chặt chẽ với hệ sinh thái Spring.

  • Tài liệu này trình bày chi tiết cách tích hợp với Servlet API và Spring MVC, đồng thời hướng dẫn cách tích hợp Spring Security hiệu quả vào các ứng dụng Spring của bạn.

Phần 12: Cài đặt nâng cao

  • Tìm hiểu cách triển khai các thiết lập bảo mật đa dạng, thiết lập dự phòng và DSL bảo mật.

Phần 13: Các dự án thực hành

  • Đơn vị này chuyển từ lý thuyết sang thực hành, bao gồm toàn bộ ứng dụng của Spring Security thông qua việc triển khai hệ thống xác thực thành viên và hệ thống quản lý thành viên.

Lộ trình bảo mật mùa xuân

  • Hoàn thành Spring Security Mastery + Spring Security OAuth2

Đã tạo khóa học này
Giới thiệu người chia sẻ kiến thức.

Jeongsuwon (men)

  • Nhà phát triển Java hiện tại

  • Kinh nghiệm trong nhiều dự án khác nhau về SI/SM/giải pháp/di động/front-end và back-end

  • Đảm nhiệm vai trò Kiến trúc sư/PM/PL

  • Github


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Bất cứ ai muốn hiểu rõ các khái niệm cơ bản về Spring Security

  • Những người muốn tự do mở rộng và tùy chỉnh các chức năng của Spring Security ngoài các chức năng cơ bản của nó

  • Bất kỳ ai muốn triển khai hệ thống kiểm soát quyền và xác thực ở mức độ thực tế bằng Spring Security

  • Spring Security bao gồm nội dung có thể được sử dụng bởi mọi người từ người mới bắt đầu đến người dùng trung cấp và cao cấp.

Cần biết trước khi bắt đầu?

  • Java

  • Khởi động mùa xuân

  • Mùa xuân MVC

  • JPA mùa xuân

  • RDBMS

Xin chào
Đây là

10,068

Học viên

351

Đánh giá

1,211

Trả lời

4.9

Xếp hạng

5

Các khóa học

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

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

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

 

Chương trình giảng dạy

Tất cả

103 bài giảng ∙ (36giờ 55phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

78 đánh giá

4.9

78 đánh giá

  • rocket700015862님의 프로필 이미지
    rocket700015862

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    75% đã tham gia

    I was working on a project and had a lot of trouble with security and authentication/authorization. I learned the general flow by cloning the free lecture (Spring Security 5.x) from another place and then modified the source codes in the blog to fit my project, but I felt that it was not enough. Most of the existing books and lectures were based on Spring Security 5.x version, so there were many differences from 6.x. In particular, in the security setting part, 5.x uses a simple method, but from 6.x, lambda expressions are required, so I had to googling every single thing while wondering if it was right. I applied JWT and OAuth2 to the project with Googling and Spring Security in Action 2nd Edition and GPT4, and the server worked, but I was very uneasy about applying authentication/authorization without properly understanding it, so I decided to take the lecture. I was worried that there would be a lot of overlap with Spring Security in Action 2nd Edition, but the detailed parts that were not covered in the book were covered in detail, so I was able to clearly understand the concepts that were ambiguous. For those who are learning for the first time, I recommend 5.x version + ChatGPT4 or 4o (since most of the learning data is 5.x version, it presents a lot of deprecated code) + don't waste time Googling and just listen to this lecture😭 + If you are completely new to Spring Security, I recommend Spring Security in Action 2nd (6.x version or higher) sold by Manning + official documentation. I do not recommend studying 5.x version.

    • pinako님의 프로필 이미지
      pinako

      Đánh giá 2

      Đánh giá trung bình 4.5

      4

      37% đã tham gia

      He explains it in great detail, and explains the principles thoroughly. However... his pronunciation is very disappointing. On top of that, he speaks in a dialect, so there are many times when I couldn't understand. It's much harder than other lectures.. Thank you for the great lecture.

      • alsry922님의 프로필 이미지
        alsry922

        Đánh giá 17

        Đánh giá trung bình 4.7

        4

        76% đã tham gia

        I just listened to what I thought was necessary. The lecture is very long, but I recommend that you watch it three times. At first, I didn't understand what was being said, and I wondered if I should keep listening to it, but the second time, I got a general idea of what it was. I think I'll understand most of it if I listen to it one more time. I've watched it twice, so I'll listen to it one more time. The pronunciation is a bit hard to listen to at double speed, and the feedback from community questions seems a bit slow, so it's a bit disappointing... Aside from that, I think you'll learn most of what you need to know about Spring Security if you study it with this. I recommend it!

        • smathj9975님의 프로필 이미지
          smathj9975

          Đánh giá 34

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          Finally, I'm done!!! First of all, I liked the previous version of the lecture. I like this Security 6 version more than the previous 5 version! The more I take the lecture, the more I realize that the instructor has done a lot of analysis on the new version and created the lecture. I'll write down some features that might be helpful to others. 1. Place the filter initialization part in front of the leaf I am also really satisfied with the fact that the initialization process is placed at the very front 2. Separation of theory and practice parts The lecture is divided into each part, so it is easy to watch in about 20~30 minutes 3. Branch management for each part The branches are divided into each part, so it is very useful for taking the class 4. Teaching ability There is no need to say anything about the teaching ability, and among the security lectures or textbooks I have seen, This is a lecture that is really like light and salt Just adding a library and turning on the server, a lot of things happen... It is good because it is not a lecture that simply uses functions and ends In addition, you can develop insight into various Spring technologies What I hope for... Can you also give a new lecture on OAuth2!!!

          • leaven
            Giảng viên

            Thank you so much for your valuable evaluation. Congratulations on completing the course for a long time^^ I will cheer for smathj to create his own system that goes beyond my lecture. Nothing can beat the fun in studying. I am also happy that smathj's evaluation is filled with such fun. We are continuously monitoring OAuth2. I don't know the exact time, but I hope to meet you with more upgraded content at the necessary time. Thank you.~~

        • ttasjwi님의 프로필 이미지
          ttasjwi

          Đánh giá 16

          Đánh giá trung bình 5.0

          5

          40% đã tham gia

          The lecture time is 36 hours and 55 minutes, so it is scary when you first watch the lecture. I also felt resistance when I first learned this part... However, the true value of this lecture is the part where the internal operation principles are explained in detail through the debugger. As you follow the lecture to dig into the detailed operation principles through the debugger, you will learn how to use the debugger yourself, which was a great help in improving your development skills. If you follow this lecture at the stage where you have gone through the Spring introductory stage (learning core, web, jpa, boot, etc.) and learn the internal automatic settings and operation flow through the debugger, you will feel that your understanding of security will grow rapidly. And as of now, most of the security-related materials are based on deprecated or unused materials, but this lecture was created with version 6 and later in mind. It is hard to find lectures or materials that explain security, or even specific technologies, in such depth. This is a lecture that I really recommend.

          • leaven
            Giảng viên

            First of all, thank you very much for your valuable evaluation^^ Most of my lectures are produced over a long period of time, so I think you may have a lot of burden before learning like Mr. Ssulji. It is true. However, I personally have a firm standard and principle that I must convey the best knowledge to students in any form regardless of the length of the lecture time, so even if the external appearance of the lecture video is not refined and has advanced marketability, I have a strong will to never compromise or yield on the quality of the internal content, the knowledge transfer, so the video time always ends up being longer than expected!! Of course, I always recognize that it needs to be adjusted appropriately^^ Since it is long, I think you will have a more solid foundation if you follow the difficult parts repeatedly. And I am even more grateful that you felt the charm of debugging^^ If you use it well in practice, it will be of great help, so I hope you continue to develop it as a habit. Thank you again for your sincere evaluation.

        2.090.612 ₫

        Khóa học khác của leaven

        Hãy khám phá các khóa học khác của giảng viên!

        Khóa học tương tự

        Khám phá các khóa học khác trong cùng lĩnh vực!