〖课程介绍〗:
认证与授权是所有应用都必须要实现的,也是所有后端工程师必备的技能,本课中将结合前后端分离的权限管理应用,基于从单体到微服务的演进,精讲主流安全框架 Spring Security5.x 的核心技术,一站式覆盖目前企业主流认证授权的方方面面,只讲实用的!
〖课程目录〗:
4 q$ I/ u" e9 b" Z5 Q+ Y1 H+ w) S. X 第1章 关于这门课,你需要知道的 试看
本章中,将向大家介绍本门课的相关信息,包括你能学到的知识概览、最终项目效果、课程讲解方式以及相关储备知识介绍、环境安装介绍等等。
共 3 节 (33分钟) 收起列表
3 D: o2 c9 B/ e* o0 A, B
1-1 课前须知,这里有你需要了解的一切 (12:26)试看
7 A! W$ ]; g% ?! H6 a 1-2 环境配置 (09:55)
1-3 工程结构 (10:21)
第2章 初识 Spring Security 试看
1 K( G+ E% `$ M5 _ 本章中会带领大家,通过一个简单的 API 鉴权,了解鉴权的目的和机制;如何使用 Postman 进行 API 测试;认识常用的 Token 机制 -- JWT;如何使用 Spring Security 进行鉴权以及对于公开接口应该如何保证安全等知识,帮助大家对Spring Security有初步的认识。...
! P4 f' R# y1 M) @5 L. Y' `
/ i3 Q5 N$ f T& n1 O# A 共 9 节 (141分钟) 收起列表
2-1 认证和授权的概念 (12:01)试看
3 z9 d1 S) ]" ]8 T$ r 2-2 过滤器和过滤器链 (12:16)
9 j7 o+ V# j$ l- F3 w/ U 2-3 HTTP 请求的结构 (14:58)
7 B& _- p' G# p) c/ b! D1 n 2-4 HTTP 响应和 HTTP Basic Auth (12:01)
2-5 安全配置 (14:59)
2-6 定制登录页 (16:09)
3 e9 O7 q$ O8 @/ ?+ L 2-7 csrf, logout 和 rememberMe 的设置 (19:46)
2-8 登录成功及失败的处理 (16:23)
2-9 自定义 Filter (21:44)
# S# p- o% L8 `9 Q2 @) p 第3章 密码的进化和验证 试看
`7 t# E4 h. }2 } h* V* y8 z, k 密码作为安全的一大要素,我们将通过本章的学习,了解常见的哈希算法和 Spring 目前默认的 Bcrypt 算法机制。学习 Java Validation API 进行领域对象验证,以及自定义注解验证密码是否符合规则。
9 Y- G" l. E7 p$ A6 R0 B" s
v5 ?! ]( s0 J 共 7 节 (96分钟) 收起列表
3-1 密码进化史 (11:55)
3-2 密码编码器 (14:59)
, e9 f! O0 Y4 L% p5 y! d3 F 3-3 验证注解和自定义验证注解 (26:56)试看
3-4 密码的验证规则和自定义注解和验证器 (17:26)
s6 n: q% D# `5 X 3-5 验证消息的国际化 (09:43)
2 h. u3 }' Z; y8 T* o2 D& X 3-6 异常的处理 (08:00)
3-7 多个安全配置共存 (06:15)
第4章 深入 Spring Security 认证
本章中,我们将通过不断的定制化,逐渐接触到 Spring Security 中的比如安全上下文,UserDetails 和 UserDetailsService 等核心概念。同时本章也会介绍如何基于 Spring Security 进行单元测试。
, q9 w2 e$ p$ A$ Z+ T0 B. c
+ X N1 o; t) P" B+ l6 k) b 共 7 节 (116分钟) 收起列表
4-1 核心组件 - SecurityContext SecurityContextHolder Authentication (17:26)
# T, y" d2 c- U- ]- U 4-2 UserDetails、UserDetailsService和jdbcAuthentication (14:26)
4-3 定制化数据库 (09:43)
4-4 深度定制化上 - 实现 UserDetails 和 GrantedAuthority (22:15)
$ H4 I' K! [4 \7 a; {8 @8 o9 i: O: H 4-5 深度定制化下 - UserDetailsService 和 UserDetailsPasswordService (22:12)
2 i8 I: O4 i+ E 4-6 环境和环境变量 (20:46)
4-7 自动化测试 (09:09)
6 W- R* e0 X0 K( f# P( c p 第5章 构建基于 JWT 的认证
/ x9 Z6 \- ]; |' s 在本章中,我们会通过源码精讲进一步了解认证流程,并基于对流程的理解,自己开发一个独立的 JWT 认证过滤器,完成令牌的生成和刷新。
9 c; i$ t/ v$ f" D 共 8 节 (142分钟) 收起列表
$ _! Y: p, S3 {3 |/ ]2 a: O
5-1 认证流程和源码解析 (20:18)
5-2 LDAP 配置和多 AuthenticationProvider 共存 (21:23)
( ~/ p5 ^( K- |- y2 N% ~ 5-3 JWT 的概念和创建以及解析 (20:48)
# `+ I& ~( @% H/ Z 5-4 访问令牌和刷新令牌以及JWT外部配置 (17:53)
' i) S u* x N& b 5-5 创建 JwtFilter (16:29)
5-6 实现登录接口和刷新令牌接口(上) (13:53)
; W& A3 j `" U8 ?6 C% P7 } 5-7 实现登录接口和刷新令牌接口(下) (13:20)
5-8 完成注册接口 (17:18)
% Q2 j% }- u$ ^8 l' ?1 y 第6章 基于角色的用户权限
' c4 s( s% n$ N 在本章中,会带领大家了解一次性密码,多因子认证的概念,实现基于 Email 和短信方式发送验证码,并结合前端的集成学习如何处理前端跨域问题。
: [2 i1 ^2 y' K1 D' ` 共 10 节 (161分钟) 收起列表
/ a8 E3 t5 p7 l+ w# \
5 A* D5 W$ |9 N. H% ^( }- X8 t 6-1 多因子认证和TOTP (22:50)
6-2 云服务和多因子认证逻辑 (08:17)
6-3 短信发送服务 - 阿里云和LeanCloud (19:52)
# G. {% L* s" P2 H1 F( A* D 6-4 Email 发送服务SMTP 和 API 方式 (12:21)
+ ~% t7 \* d; I' S, W/ j2 s 6-5 多因子认证逻辑 ---整体逻辑和实体类改造 (15:02)
6-6 多因子认证逻辑---使用 Redis 缓存 (16:02)
6-7 多因子认证逻辑---选择发送方式和验证 (18:43)
6-8 前端集成---前后端的多工程配置 (11:52)
6-9 前端集成---跨域处理 (15:17)
- n; N9 r$ c+ K1 G- s- v" |# D; X* m 6-10 前端集成 ---源码解析和验证多因子登录 (19:48)
# r. t' G7 f3 j# t, M 第7章 基于数据库的 RBAC
在本章中,我们会结合一个基于数据库的角色/权限/用户结构,进一步熟悉授权的概念,并实战打造一个完整的、可复用的后台用户管理功能模块。权限表达式是 Spring Security 中非常强大、易于使用的一种可以应用于 URL 和方法级的安全注解表达式,我们也会逐步介绍什么是内建的表达式、何自定义表达式,以及具体在什么场...
7 g3 y* [. K; I$ g' H. G* N: o
' H% R" K& \" i d9 F 共 8 节 (103分钟) 收起列表
* t3 C. n' J i+ C
7-1 授权的概念和安全表达式的应用 (22:22)
7-2 方法级注解 (12:37)
7-3 RBAC 和角色分级 (14:42)
7-4 数据库和实体类的 RBAC 改造 (15:21)
; V' \ I+ p: ?5 j' D9 c4 ^7 Z 7-5 元注解简化权限表达式的使用 (10:07)
7-6 使用 AOP 动态刷新角色层级 (10:30)
/ ?7 X" n+ S9 L7 ?! a, M, u# y( q 7-7 前端的安全 (10:04)
% F# H& z3 [& d1 H- ~5 m& ~! z 7-8 授权流程源码解析和用户组的思路扩展 (07:10)
第8章 实现符合 OAuth 2 标准的授权服务器
本章将改造前面的应用为多服务器模型,并带大家逐步了解 Oauth 2.0 的流程和机制;如何使用 Spring Security 实现授权服务器和资源服务器;如何结合实战实现Github登录、微博登录以及 QQ 登录;了解 Token 如何进行刷新;单页应用如何在 Oauth2 下工作以及 JWS等概念。...
& ]2 Q. D1 @1 j! T. F& p
共 9 节 (129分钟) 收起列表
* I1 ^ }9 w5 q: [9 E- j% p; ?+ ` 8-1 OAuth2 的主要角色和流程 (13:49)
$ S- `) ~, [+ C1 `: V, C g0 T) A 8-2 JWS和JWK (10:33)
) h: i, M8 ~" }. C: { 8-3 搭建授权服务器(一)依赖和表结构 (12:29)
8-4 搭建授权服务器(二)JWKS 和RSA密钥对 (16:12)
8-5 搭建授权服务器(三)授权服务器配置 (12:38)
8-6 前端为例详解授权码流程 (15:27)
8-7 资源服务器的配置 (13:56)
+ ]) B. L2 l. k7 i. X: c 8-8 客户端登录-社交登录和二维码登录原理 (18:34)
+ P% M& |7 \& s* Z! ? 8-9 资源服务器的访问 (15:19)
第9章 关于Spring Security你可以了解的更多
在本章中,会带领大家了解业界成熟的安全服务器 Keycloak,以及如何和 Spring Security 进行集成,在微服务中如何使用 Oauth2等扩展知识。
3 ]; \/ l/ N. ?' l
4 h1 a7 E m* l$ o$ P 共 4 节 (55分钟) 收起列表
( S6 G1 S+ z- m$ N& i3 T
$ t$ [! r6 _' G2 m 9-1 Keyloak 简介 (14:59)
5 ^# b" h2 D/ L$ U* [: P 9-2 SSO 单点登录 (08:25)
6 _8 e+ H$ D* Q+ u0 j 9-3 微服务间的请求调用和拦截器实现token刷新 (19:37)
: ^+ b2 F, D& p; o 9-4 总结和回顾 (11:38)
# _8 ~; y1 \$ D4 p* y" p- |〖视频截图〗: