Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Spring Security Zero to Master along with JWT,OAUTH2

Spring Security từ Cơ bản đến Nâng cao cùng với JWT, OAUTH2

Spring Security từ Cơ bản đến Nâng cao cùng với JWT, OAUTH2

Spring Security, SpringBoot Security, CORs, CSRF, JWT, OAUTH2, OpenID Connect, KeyCloak, Spring Authorization Server

4.7
(10,534 đánh giá)
66,236 học viên
Giảng viên
Eazy Bytes
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
24.5 giờ video
162 bài giảng
16 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 06/08/2026

Bạn sẽ học được gì

Chi tiết về framework Spring Security và các tính năng của nó
Cách áp dụng bảo mật cho ứng dụng web Java bằng Spring Security
CSRF, CORS, JWT, OAUTH2 là gì
Áp dụng quy tắc phân quyền bằng vai trò (roles) và quyền hạn (authorities) trong ứng dụng web sử dụng Spring Security
Bảo mật cấp phương thức trong ứng dụng web/không phải web

Yêu cầu

Java
Kiến thức cơ bản về Spring framework

Đối tượng phù hợp

Học viên mới bắt đầu học Spring framework và quan tâm đến bảo mật
Lập trình viên đã biết phát triển ứng dụng web bằng Spring framework
Kiến trúc sư Java

Nội dung khóa học

17 phần • 161 bài giảng
1 Giới thiệu khóa học
2 Chi tiết về Mã nguồn, Nội dung PDF & các hướng dẫn khác cho khóa học
3 IntelliJ IDEA Ultimate
4 Tạo ứng dụng Spring Boot đơn giản không có bảo mật - Phần 1
5 Tạo ứng dụng Spring Boot đơn giản không có bảo mật - Phần 2
6 Bảo mật ứng dụng Spring Boot cơ bản bằng Spring Security & thông tin xác thực tĩnh
7 Meme vui về Bảo mật
8 Bảo mật là gì & Tại sao nó quan trọng
9 Giới thiệu nhanh về Servlets & Filters
10 Giới thiệu luồng hoạt động nội bộ của Spring Security - Lý thuyết
11 Demo luồng hoạt động nội bộ của Spring Security - Phần 1
12 Demo luồng hoạt động nội bộ của Spring Security - Phần 2
13 Sơ đồ trình tự hoạt động mặc định của Spring Security
14 Hiểu cách nhiều yêu cầu hoạt động mà không cần thông tin xác thực
1 Tìm hiểu về phần giao diện người dùng của ứng dụng EazyBank
2 Tạo các dịch vụ backend cần thiết cho ứng dụng EazyBank
3 Kiểm tra cấu hình mặc định bên trong framework Spring Security
4 Sửa đổi mã cấu hình bảo mật theo yêu cầu tùy chỉnh của chúng ta
5 Cách tắt xác thực formLogin và httpBasic
6 Kiểm tra xác thực httpBasic bằng postman
1 Cấu hình người dùng bằng InMemoryUserDetailsManager
2 Cấu hình PasswordEncoder bằng PasswordEncoderFactories
3 Demo về CompromisedPasswordChecker
4 Tìm hiểu sâu về Interface UserDetailsService & UserDetailsManager
5 Tìm hiểu sâu về Interface UserDetails & Authentication
1 Ôn tập nhanh các cải tiến đã thực hiện
2 Tạo Cơ sở dữ liệu MySQL bằng Docker
3 Tìm hiểu JdbcUserDetailsManager & tạo Người dùng bên trong DB
4 Sử dụng JdbcUserDetailsManager để thực hiện xác thực
5 Tạo bảng tùy chỉnh của riêng chúng ta cho Xác thực
6 Tạo lớp JPA Entity và repository cho bảng mới
7 Tạo triển khai tùy chỉnh của riêng chúng ta cho UserDetailsService
8 Xây dựng API REST mới để cho phép đăng ký Người dùng mới
1 Mật khẩu của chúng ta được xác thực như thế nào mà không cần PasswordEncoders
2 Mã hóa (Encoding), Giải mã (Decoding) là gì & tại sao không phù hợp để quản lý mật khẩu
3 Mã hóa (Encryption), Giải mã (Decryption) là gì & tại sao không phù hợp để quản lý mật khẩu
4 Demo về Mã hóa (Encryption), Giải mã (Decryption)
5 Giới thiệu về Hashing
6 Nhược điểm của Hashing & các cuộc tấn công Brute force, Dictionary hoặc Rainbow table là gì
7 Cách khắc phục nhược điểm của Hashing, tấn công Brute force và Dictionary table
8 Giới thiệu về PasswordEncoders trong Spring Security
9 Tìm hiểu sâu về các lớp triển khai PasswordEncoder
10 Demo đăng ký và đăng nhập với bộ mã hóa mật khẩu Bcrypt
1 Tại sao chúng ta nên cân nhắc tạo AuthenticationProvider của riêng mình
2 Tìm hiểu các phương thức của AuthenticationProvider
3 Triển khai và Tùy chỉnh AuthenticationProvider bên trong ứng dụng của chúng ta
4 Cấu hình Bảo mật theo môi trường cụ thể bằng Profiles - Phần 1
5 Cấu hình Bảo mật theo môi trường cụ thể bằng Profiles - Phần 2
6 Cấu hình Bảo mật theo môi trường cụ thể bằng Profiles - Phần 3
1 Chỉ chấp nhận Lưu lượng HTTPS bằng Spring Security
2 Xử lý Ngoại lệ trong framework Spring Security
3 Định nghĩa Custom AuthenticationEntryPoint - Phần 1
4 Định nghĩa Custom AuthenticationEntryPoint - Phần 2
5 Định nghĩa Custom AccessDeniedHandler
6 Cấu hình Thời gian chờ Phiên (Session Timeout) & phiên không hợp lệ
7 Cấu hình Kiểm soát Phiên đồng thời (Concurrent Session Control)
8 Bảo vệ chống tấn công Cố định Phiên (Session Fixation Attack) với Spring Security
9 Lắng nghe Sự kiện Xác thực - Lý thuyết
10 Lắng nghe Sự kiện Xác thực - Demo
11 Cấu hình Form Login cho ứng dụng MVC hoặc nguyên khối - Phần 1
12 Cấu hình Form Login cho ứng dụng MVC hoặc nguyên khối - Phần 2
13 Cấu hình Form Login cho ứng dụng MVC hoặc nguyên khối - Phần 3
14 Cấu hình Form Login cho ứng dụng MVC hoặc nguyên khối - Phần 4
15 Cấu hình Logout cho ứng dụng MVC hoặc nguyên khối
16 Tích hợp Spring Security với Thymeleaf
17 Vai trò của SecurityContext & SecurityContextHolder
18 Tải thông tin chi tiết người dùng đăng nhập trong Spring Security
1 Thiết lập dự án giao diện người dùng EazyBank
2 Tìm hiểu và xem qua mã Angular - Phần 1
3 Tìm hiểu và xem qua mã Angular - Phần 2
4 Tạo lược đồ cơ sở dữ liệu mới cho các tình huống EazyBank
5 Cập nhật dự án Backend dựa trên lược đồ cơ sở dữ liệu mới nhất
6 Kiểm tra đăng ký người dùng mới với các thay đổi mới nhất
7 Trải nghiệm lỗi CORs
8 Giới thiệu về CORs
9 Các tùy chọn khả thi để khắc phục sự cố CORs
10 Khắc phục sự cố CORs bằng Spring Security
11 Demo bảo vệ CSRF mặc định bên trong Spring Security
12 Giới thiệu về tấn công CSRF
13 Giải pháp xử lý tấn công CSRF
14 Triển khai giải pháp token CSRF bên trong ứng dụng backend - Phần 1
15 Triển khai giải pháp token CSRF bên trong ứng dụng backend - Phần 2
16 Triển khai giải pháp token CSRF bên trong ứng dụng giao diện người dùng
17 Bỏ qua bảo vệ CSRF cho các API công khai
1 Xác thực (Authentication) vs Phân quyền (Authorization)
2 Authorities được lưu trữ như thế nào bên trong Spring Security
3 Tạo bảng authorities mới để lưu trữ nhiều vai trò hoặc quyền hạn
4 Thay đổi backend để tải authorities từ bảng cơ sở dữ liệu mới
5 Cấu hình Authorities bên trong ứng dụng web bằng Spring Security
6 Authority vs Role trong Spring Security
7 Cấu hình Phân quyền theo Roles bên trong ứng dụng web bằng Spring Security
8 Lắng nghe sự kiện Phân quyền (Authorization events)
1 Demo về các Bộ lọc có sẵn của framework Spring Security
2 Cách tạo và cấu hình bộ lọc tùy chỉnh của riêng chúng ta
3 Thêm bộ lọc tùy chỉnh bằng phương thức addFilterBefore()
4 Thêm bộ lọc tùy chỉnh bằng phương thức addFilterAfter()
5 Thêm bộ lọc tùy chỉnh bằng phương thức addFilterAt()
1 Opaque Tokens vs JSON Web Tokens (JWT)
2 Ưu điểm của Xác thực dựa trên Token
3 Tìm hiểu sâu về JWT Tokens
4 Cấu hình dự án để sử dụng JWT tokens
5 Xây dựng logic để tạo JWT tokens
6 Xây dựng logic để xác thực JWT tokens
7 Thực hiện thay đổi phía client cho xác thực dựa trên JWT token
8 Xác thực các thay đổi JWT đã thực hiện bằng cách chạy ứng dụng
9 Kiểm tra kịch bản JWT token hết hạn
10 Xuất bản AuthenticationManager cho xác thực tùy chỉnh hoặc thủ công - Phần 1
11 Xuất bản AuthenticationManager cho xác thực tùy chỉnh hoặc thủ công - Phần 2
1 Giới thiệu về bảo mật cấp phương thức trong Spring Security
2 Chi tiết về phân quyền gọi phương thức trong bảo mật cấp phương thức
3 Demo bảo mật cấp phương thức bằng @PreAuthorize và @PostAuthorize
4 Chi tiết về phân quyền lọc trong bảo mật cấp phương thức
5 Demo annotation @PreFilter
6 Demo annotation @PostFilter
1 Các vấn đề mà OAUTH2 đang cố gắng giải quyết
2 Giới thiệu về OAUTH2
3 Thuật ngữ hoặc biệt ngữ OAuth2
4 Demo luồng mẫu OAuth2
5 Tìm hiểu sâu về luồng cấp phép mã ủy quyền (Authorization code grant type) trong OAUTH2
6 Demo luồng cấp phép mã ủy quyền (Authorization code grant type) trong OAUTH2
7 Tìm hiểu sâu & Demo luồng cấp phép ngầm (implicit grant flow) trong OAUTH2
8 Tìm hiểu sâu & demo luồng cấp phép mã ủy quyền với PKCE
9 Tìm hiểu sâu về luồng cấp phép mật khẩu (password grant type) trong OAUTH2
10 Tìm hiểu sâu về luồng cấp phép thông tin xác thực máy khách (client credentials grant type) trong OAUTH2
11 Tìm hiểu sâu về luồng cấp phép làm mới token (refresh token grant type) trong OAUTH2
12 Cách máy chủ tài nguyên xác thực các token được cấp bởi Máy chủ xác thực
13 Giới thiệu về OpenID Connect
1 Giới thiệu về nội dung triển khai và demo OAUTH2
2 Demo OAUTH2 bằng đăng nhập mạng xã hội - Phần 1
3 Demo OAUTH2 bằng đăng nhập mạng xã hội - Phần 2
4 Demo OAUTH2 bằng đăng nhập mạng xã hội - Phần 3
5 Demo OAUTH2 bằng đăng nhập mạng xã hội - Phần 4
6 Demo OAUTH2 bằng đăng nhập mạng xã hội - Phần 5
1 Giới thiệu luồng OAUTH2 bên trong ứng dụng web EazyBank
2 Giới thiệu về Máy chủ xác thực KeyCloak
3 Cài đặt máy chủ KeyCloak, thiết lập tài khoản quản trị & realm
4 Tạo Thông tin xác thực Máy khách (Client Credentials) bên trong KeyCloak cho các lệnh gọi API-API được bảo mật
5 Thiết lập Máy chủ Tài nguyên EazyBank - Phần 1
6 Thiết lập Máy chủ Tài nguyên EazyBank - Phần 2
7 Demo luồng cấp phép thông tin xác thực máy khách (client credentials grant type) trong eazybank
8 Demo về Opaque Tokens - Phần 1
9 Demo về Opaque Tokens - Phần 2
10 Tạo thông tin Máy khách và Người dùng bên trong KeyCloak cho luồng cấp phép mã ủy quyền (Auth code grant flow)
11 Kiểm tra các loại cấp phép mã ủy quyền & làm mới token bằng ứng dụng Postman
12 Kiểm tra loại cấp phép mã ủy quyền PKCE bằng ứng dụng Postman
13 Triển khai loại cấp phép mã ủy quyền PKCE bên trong ứng dụng giao diện người dùng Angular - Phần 1
14 Triển khai loại cấp phép mã ủy quyền PKCE bên trong ứng dụng giao diện người dùng Angular - Phần 2
15 Kiểm tra luồng PKCE bên trong ứng dụng giao diện người dùng Angular Eazy Bank
16 Cấu hình Xác thực đa yếu tố (MFA) bằng KeyCloak
17 Tích hợp Đăng nhập mạng xã hội với sự trợ giúp của KeyCloak
1 Giới thiệu về Spring Authorization Server
2 Thiết lập Spring Authorization Server
3 Tạo Thông tin xác thực Máy khách (Client Credentials) bên trong Spring Auth Server cho lệnh gọi API-API
4 Client credentials grant type flow demo with Spring Auth Server
5 OAuth2 Token Customization in Spring Auth Server
6 Creating clients inside Spring Auth Server for Auth Code & PKCE grant type flows
7 Updating Spring Auth Server to authenticate the end user using DB
8 Auth Code & PKCE grant type flows demo with Spring Auth Server
9 Refresh token grant type flow demo with Spring Auth Server
10 Demo of Opaque Tokens with Spring Auth Server
1 Thank You and Congratulations

Giới thiệu khóa học

'Spring Security Zero to Master' course will help in understanding the Spring Security Architecture, important packages, interfaces, classes inside it which handles authentication and authorization requests in the web applications. It also covers most common security related topics like CORs, CSRF, JWT, OAUTH2, password management, method level security, user, roles & authorities management inside web applications.

Below are the important topics that this course covers,

  1. Spring Security framework details and it features

  2. How to adapt security for a Java web application using Spring Security

  3. Password Management in Spring Security with PasswordEncoders

  4. Deep dive about encoding, encryption and hashing

  5. What is CSRF, CORS and how to address them

  6. What is Authentication and Authorization. How they are different from each other.

  7. Filters in Spring Security and how to write own custom filters

  8. Deep dive about JWT (JSON Web Tokens) and the role of them inside Authentication & Authorization

  9. Deep dive about OAUTH2 and various grant type flows inside OAUTH2.

  10. Deep dive about OpenID Connect & how it is related to OAUTH2

  11. Applying authorization rules using roles, authorities inside a web application using Spring Security

  12. Method level security in web/non-web applications

  13. Social Login integrations into web applications

  14. Set up of Authorization Server using KeyCloak, Spring Authorization Server


The pre-requisite for the course is basic knowledge of Java, Spring, SpringBoot and interest to learn.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Backend Development
Hiển thị tất cả khoá học Java
Hiển thị tất cả khoá học Spring Framework
Hiển thị tất cả khoá học Web Security
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊