Spring Security 使用
工作原理
Spring Security 的本质是一个 过滤器链 (Filter Chain)。它拦截所有的 HTTP 请求,并在请求到达你的 Controller 之前,先完成“你是谁(认证)”和“你能干什么(授权)”的检查。
具体使用
如果在 pom.xml 中引入了 Spring Security 依赖,但没有做任何自定义配置;则 Spring Security 就会使用默认配置生效;默认配置如下:

Spring Security
Spring Security 的认证流程:
请求 → Spring Security → 发现没有 Authentication → 判定为“未登录”→ 返回 401
因此 JWT token 认证必须添加到 Spring Security 的 UsernamePasswordAuthenticationFilter 用户名密码鉴权过滤器之前,如下:
请求 → JWT Filter → 解析 token → 写入 Authentication → Spring Security → 发现“已登录” → 再判断权限(是否 403)