很多人对 Spring Security 的印象停留在「加个依赖、写个配置类、把 login 页面换掉」。真到项目里要接第三方登录、要把单体拆成前后端分离、要让多个服务共用一套令牌,就发现之前跟着教程敲的那点东西不够用了。这门课针对的正是这个断层:它不是再讲一遍过滤器链的入门知识,而是把认证与授权放到几个真实场景里,逼你处理那些教程里不会出现的分支。

先确认自己缺的是哪一块

Spring Security 的难点不在 API 数量,而在于它把「谁在访问」和「能访问什么」这两件事拆成了多层结构,每一层都有默认行为。如果你现在处于下面任意一种状态,这门课的内容才对得上:

  • 能照着文档配出内存用户和数据库用户,但说不清认证结果是在哪个环节写进 SecurityContext 的;
  • 做过后台管理系统,权限控制靠 role 字段硬判断,没写过基于 URL、方法、甚至数据行级别的授权;
  • 听说过 OAuth2 的四种授权模式,但分不清什么场景该用授权码、什么场景该用客户端凭证;
  • 遇到过 JWT 无状态带来的注销难题,或者多服务之间令牌怎么传递、怎么校验的问题。

反过来,如果连 Servlet 过滤器和 Spring 的 Bean 生命周期都还没理清,建议先补齐这两块再回来,否则课程里的定制化改动会看得一头雾水。

课程把 OAuth2 放在什么位置讲

它不是把 OAuth2 当成独立章节塞在最后,而是作为「授权服务器 + 资源服务器」这条线贯穿始终。也就是说,你会看到 Spring Security 的过滤器链怎么和 OAuth2 的令牌校验结合,授权码模式里那个跳转回来的 code 最终是怎么换成令牌、令牌又怎么被下游服务识别。这几个环节串起来之后,再去理解单点登录和微服务间的调用授权就顺了。

多场景这个词对应的就是这种串联:单体应用的表单登录、前后端分离下的无状态认证、第三方登录接入、服务之间的凭证传递,各自需要改哪一层、保留哪些默认配置、关掉哪些自动装配,课程是分开处理的。这一点比笼统讲一遍原理更有用,因为实际工作中出错往往就出在「这个场景该关的没关」。

配套练习该怎么用

这类课的笔记如果只当文档收藏,价值不大。比较有效的做法是:每看完一个场景,先把配置类清空,凭记忆重新写一遍过滤器链和授权规则,写不出来的地方再回去对照。认证流程的调试尤其要动手,在关键过滤器上打断点,看请求进来之后经过了哪些环节、哪一步把认证信息放进上下文、哪一步因为权限不足被拒绝。

令牌相关的部分建议自己造一次异常:改短过期时间、篡改签名、用错误的密钥校验,观察返回的错误码和日志。这些异常路径在真实排查时出现频率很高,提前踩过一遍,之后看日志能直接定位到是签名问题还是过期问题。

学完应该能回答的问题

  • 一个请求从进入到被判定为「已认证且有权访问」,中间经过了哪些关键节点?
  • 前后端分离场景下,为什么 Session 方案会出问题,改成令牌之后又引入了哪些新麻烦?
  • 授权码模式相比简化模式,多出来的那一步到底解决了什么安全问题?
  • JWT 无法主动失效这个缺点,在什么业务下可以接受,什么业务下必须额外加一层?
  • 多个服务共用一套认证体系时,令牌的校验放在网关还是放在每个服务里,各有什么取舍?

能把这几个问题讲清楚,说明你不是记住了配置,而是理解了机制。面试里被追问细节时,这种理解程度的差别很明显。

一点提醒

Spring Security 的版本差异比较大,配置类的写法在不同大版本之间变化明显。学的时候留意课程用的版本,自己项目里如果版本不同,先去官方迁移文档确认哪些类被废弃、哪些默认行为改了,不要把课程里的代码直接搬过去。认证授权是安全底线,配置上的一处理解偏差,可能就是一个越权漏洞。


Spring Security + OAuth2 精讲 多场景打造企业级认证与授权

课程推荐

《Spring Security + OAuth2 精讲 多场景打造企业级认证与授权》Spring Security + OAuth2 精讲 多场景打造企业级认证与授权【技能收获】学完可掌握:核心实战技能、项目驱动学习。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。

视频目录(65 节)

*   1-1 课前须知,这里有你需要了解的一切.mp4

*   1-2 环境配置.mp4

*   1-3 工程结构.mp4

*   2-1 认证和授权的概念.mp4

*   2-2 过滤器和过滤器链.mp4

*   2-3 HTTP 请求的结构.mp4

*   2-4 HTTP 响应和 HTTP Basic Auth.mp4

*   2-5 安全配置.mp4

*   2-6 定制登录页.mp4

*   2-7 csrf, logout 和 rememberMe 的设置.mp4

*   2-8 登录成功及失败的处理.mp4

*   2-9 自定义 Filter.mp4

*   3-1 密码进化史.mp4

*   3-2 密码编码器.mp4

*   3-3 验证注解和自定义验证注解.mp4

*   3-4 密码的验证规则和自定义注解和验证器.mp4

*   3-5 验证消息的国际化.mp4

*   3-6 异常的处理.mp4

*   3-7 多个安全配置共存.mp4

*   4-1 核心组件 - SecurityContext SecurityContextHolder Authentication.mp4

*   4-2 UserDetails、UserDetailsService和jdbcAuthentication.mp4

*   4-3 定制化数据库.mp4

*   4-4 深度定制化上 - 实现 UserDetails 和 GrantedAuthority.mp4

*   4-5 深度定制化下 - UserDetailsService 和 UserDetailsPasswordService.mp4

*   4-6 环境和环境变量.mp4

*   4-7 自动化测试.mp4

*   5-1 认证流程和源码解析.mp4

*   5-2 LDAP 配置和多 AuthenticationProvider 共存.mp4

*   5-3 JWT 的概念和创建以及解析.mp4

*   5-4 访问令牌和刷新令牌以及JWT外部配置.mp4

*   5-5 创建 JwtFilter.mp4

*   5-6 实现登录接口和刷新令牌接口(上).mp4

*   5-7 实现登录接口和刷新令牌接口(下).mp4

*   5-8 完成注册接口.mp4

*   6-1 多因子认证和TOTP.mp4

*   6-2 云服务和多因子认证逻辑.mp4

*   6-3 短信发送服务 - 阿里云和LeanCloud.mp4

*   6-4 Email 发送服务SMTP 和 API 方式.mp4

*   6-5 多因子认证逻辑 ---整体逻辑和实体类**.mp4

*   6-6 多因子认证逻辑---使用 Redis 缓存.mp4

*   6-7 多因子认证逻辑---选择发送方式和验证.mp4

*   6-8 前端集成---前后端的多工程配置.mp4

*   6-9 前端集成---跨域处理.mp4

*   6-10 前端集成 ---源码解析和验证多因子登录.mp4

*   7-1 授权的概念和安全表达式的应用.mp4

*   7-2 方法级注解.mp4

*   7-3 RBAC 和角色分级.mp4

*   7-4 数据库和实体类的 RBAC **.mp4

*   7-5 元注解简化权限表达式的使用.mp4

*   7-6 使用 AOP 动态刷新角色层级.mp4

*   7-7 前端的安全.mp4

*   7-8 授权流程源码解析和用户组的思路扩展.mp4

*   8-1 OAuth2 的主要角色和流程.mp4

*   8-2 JWS和JWK.mp4

*   8-3 搭建授权服务器(一)依赖和表结构.mp4

*   8-4 搭建授权服务器(二)JWKS 和RSA密钥对.mp4

*   8-5 搭建授权服务器(三)授权服务器配置.mp4

*   8-6 前端为例详解授权码流程.mp4

*   8-7 资源服务器的配置.mp4

*   8-8 客户端登录-社交登录和二维码登录原理.mp4

*   8-9 资源服务器的访问.mp4

*   9-1 Keyloak 简介.mp4

*   9-2 SSO 单点登录.mp4

*   9-3 微服务间的请求调用和**实现token刷新.mp4

*   9-4 总结和回顾.mp4