Skip to content

07 — Spring Security

定位: Spring 生态的认证授权框架——基于 Servlet Filter 的安全解决方案 面试高频度: ⭐⭐⭐⭐

一、板块在体系中的位置

+----------------------------------------------------+
|           Spring Security 在体系中的位置              |
|                                                     |
|  01. IoC 容器 -> 02. AOP (方法安全基于 AOP)           |
|                   |                                  |
|                   v                                  |
|  07. Spring Security (本板块)                        |
|  +-------------------------------------------+      |
|  |  Filter Chain + AuthenticationManager     |      |
|  |  + Method Security (@PreAuthorize)        |      |
|  +-------------------------------------------+      |
|                   |                                  |
|                   v                                  |
|  04. Spring MVC (拦截请求)                           |
|  05. Spring Boot (自动配置 Security)                   |
|  08. Spring Cloud (微服务安全+网关鉴权)                |
+----------------------------------------------------+

二、知识全景图

+----------------------------------------------------+
|           Spring Security 核心知识体系                |
|                                                     |
|  +----------------------------------------------+  |
|  |  1. 认证流程与过滤器链                         |  |
|  |  DelegatingFilterProxy -> FilterChainProxy    |  |
|  |  -> SecurityFilterChain (11个默认Filter)       |  |
|  |  -> UsernamePasswordAuthenticationFilter       |  |
|  +----------------------------------------------+  |
|                      |                              |
|  +----------------------------------------------+  |
|  |  2. JWT 与 OAuth2                            |  |
|  |  JwtAuthenticationFilter + Token 续期/失效   |  |
|  |  OAuth2 五种授权模式对比                      |  |
|  +----------------------------------------------+  |
|                      |                              |
|  +----------------------------------------------+  |
|  |  3. 方法安全与 CSRF                           |  |
|  |  @PreAuthorize/@PostAuthorize 权限控制         |  |
|  |  CSRF 防护机制 + 无状态 API 禁用场景           |  |
|  +----------------------------------------------+  |
+----------------------------------------------------+

三、子专题导航

#主题面试频率核心内容
**07.1-认证流程与过滤器链**⭐⭐⭐⭐⭐DelegatingFilterProxy、11个默认Filter、认证流程、密码编码器
**07.2-JWT与OAuth2**⭐⭐⭐⭐⭐JWT 过滤器集成、Token 续期/失效方案、OAuth2 授权模式
**07.3-方法安全与CSRF**⭐⭐⭐⭐@PreAuthorize/@PostFilter 方法安全、CSRF 防护机制

四、核心考点速记

考点 1:认证流程

UsernamePasswordAuthenticationFilter
    -> 创建 UsernamePasswordAuthenticationToken
    -> AuthenticationManager (ProviderManager)
    -> AuthenticationProvider
        -> UserDetailsService.loadUserByUsername()
        -> PasswordEncoder.matches()
    -> 返回 Authentication -> SecurityContextHolder

考点 2:无状态 JWT 方案

禁用 CSRF + STATELESS session + JwtAuthenticationFilter(OncePerRequestFilter)

考点 3:Token 失效方案

黑名单(Redis)/ 短有效期 + 频繁刷新 / 版本号

📚 相关板块

  • **Spring MVC** — Filter/Interceptor 集成
  • **AOP** — 方法安全基于 AOP
  • **Spring Cloud** — 网关鉴权 + OAuth2

Knowledge4J — Java 知识库