Spring Security OAuth2.0认证授权
课程简介
本课程聚焦企业级安全认证与授权领域,从基础原理到实战落地,系统讲解认证、会话、授权核心概念,由浅入深剖析 Spring Security 核心运行机制,延伸学习 OAuth2.0 协议规范,最终完成微服务分布式系统完整认证授权方案开发。
课程摒弃纯 API 灌输式教学,从原生 Servlet‑Session 手写认证授权案例入手,循序渐进过渡到 Spring Security 框架,结合 Spring Boot 简化开发,最终落地基于 Eureka 注册中心 + Zuul 网关的分布式 OAuth2 安全体系。帮助学员吃透安全框架底层原理,掌握微服务场景下统一登录、令牌鉴权、细粒度权限管控的企业级解决方案。
课程主要内容
第一部分:安全基础理论与手写实现
- 核心概念:认证、授权、会话;对比Session 会话与Token 会话两种主流实现机制,理解各自适用场景。
- 授权数据模型:RBAC 访问控制,区分基于角色访问控制、基于资源访问控制,梳理用户、角色、权限、资源实体关系。
- 手写 Session 版认证授权:不引入安全框架,使用原生 SpringMVC 完成用户登录、会话存储、自定义拦截器权限校验,搞懂认证授权底层业务逻辑。
第二部分:Spring Security 核心原理与实战
- Spring Security 快速上手:快速搭建工程,实现表单登录、登出、URL 资源拦截授权。
- Spring Boot 集成 Spring Security:理解 starter 自动装配,简化 XML 繁琐配置,快速构建安全 web 应用。
- Spring Security 底层工作原理
- 过滤器链
FilterChainProxy核心组件,各个安全过滤器职责; - 完整认证流程:
AuthenticationManager、AuthenticationProvider、UserDetailsService、PasswordEncoder核心组件协作; - 完整授权流程:
FilterSecurityInterceptor、AccessDecisionManager、AccessDecisionVoter 投票器授权决策机制。
- 过滤器链
- 自定义认证扩展
- 自定义登录页面,处理 CSRF;
- 对接数据库实现账号认证;BCrypt 密码加密实战;
- 会话管理:会话创建策略、会话超时、安全 Cookie 配置、无状态 stateless 会话适配 REST 接口。
- 退出登录机制:自定义退出逻辑,了解各类
LogoutHandler清理组件。 - 两种授权方式:
- Web URL 授权:
http.authorizeRequests()配置 url 权限规则; - 方法级授权:
@PreAuthorize、@Secured注解实现方法粒度权限控制,开启全局方法安全。
- Web URL 授权:
第三部分:Spring Security OAuth2.0 分布式微服务安全实战
- OAuth2.0 协议基础,理解协议角色、四种授权模式适用业务场景。
- 分布式系统授权整体技术方案:UAA 统一认证服务、注册中心、网关、下游资源微服务分工。
- Eureka 注册中心搭建,实现微服务服务注册与发现。
- Zuul 网关改造为 OAuth2 资源服务器
- JWT 令牌对称加密解析校验;
- 网关层做客户端权限拦截;
- Zuul 前置过滤器,Base64 转发明文用户信息向下游微服务传递。
- 下游微服务鉴权拦截:自定义 Filter 解析网关透传的 json‑token,组装
Authentication存入安全上下文,复用 Spring Security 注解完成业务方法鉴权。 - JWT 令牌扩展用户信息:解决 JWT 默认仅存储用户名,扩展携带用户 ID、手机号等自定义业务字段。
- 完整集成测试:密码模式获取 token,网关转发请求,非法 token、无 token 异常返回结果验证。
课程亮点
✅ 原理先行,拒绝只会调 API:先手写一套认证授权,再学习框架,理解框架封装背后的底层逻辑,遇到问题可以定位根源。
✅ 理论 + 企业级案例双驱动:从单机 web 安全,一步步演进到 SpringCloud 微服务分布式统一认证,贴合互联网企业真实技术架构。
✅ 拆解 Spring Security 核心组件:讲透过滤器链、认证管理器、投票器授权决策,不再对框架黑盒使用。
✅ 掌握 JWT 令牌完整链路:UAA 签发 JWT → 网关校验解析 → 网关透传用户信息 → 微服务鉴权,完整打通分布式安全整条链路。
✅ 覆盖高频业务需求:数据库账号认证、BCrypt 密码加密、自定义登录页、会话策略、URL / 方法双维度授权、JWT 扩展自定义用户信息。
✅ 踩点实战测试:包含正常访问、权限不足、无 token、损坏 token 等边界场景测试,熟悉接口异常返回,适配前后端联调。
✅ 适配前后端分离、微服务架构:重点讲解 stateless 无状态会话,告别 session,掌握 Token 认证模式,适配现在主流开发模式。
学完你将收获
- 透彻理解认证、授权、会话、RBAC、OAuth2.0 核心概念;
- 熟练使用 Spring Security 完成单机 Web 项目安全开发;
- 能够自定义扩展 Spring Security 认证、登录、授权逻辑;
- 可以独立搭建基于 Spring Security OAuth2 + Zuul + Eureka 微服务统一认证授权平台;
- 掌握 JWT 令牌签发、校验、透传、扩展用户信息全套实现;
- 具备排查安全框架常见报错问题的能力。
适合人群:有 Spring、Spring Boot 基础,想要学习 Web 安全、微服务统一认证授权的开发工程师。
老师介绍
老苗一对一私教:https://yjoffer.com/aboutus/one2one/one2one.html
