手把手教你如何使用Spring Security(中):接口认证
文章目录
- 一、上篇回顾
- 二、接口认证逻辑
-
- JWT认证过滤器
- 配置过滤器连
- 三、请求演示
-
- 接口定义
- 未登录时
- 登录之后
- 四、系列文章
-
- Spring Security 系列
- Spring Security OAuth 系列
一、上篇回顾
> 在手把手教你如何使用Spring Security(上):登录授权 文章我们配置了如何登录,以及登录后获取JWT令牌,但是对于普通的请求依然无法访问,原因是我们并没有去校验令牌去认证请求的合法性,这一篇就来说说请求的认证。
二、接口认证逻辑
> 我们再来捋一下流程,首先用户进行登录授权之后会返回JWT令牌,客户端请求资源接口需要带上这个令牌,而后台要做的就是校验这个令牌的有效性。所以本篇需求也很清晰,校验JWT,其实也是只需要写一个JWT过滤器,将过滤器同上一篇一样的方式配置到过滤器链中。Github项目地址:spring-security-demo,修改记录:
> 
JWT认证过滤器
> 和登录时候创建过滤器一样,包括JWT过滤器本身(JwtAuthenticationFilter),认证用的Provider(JwtAuthenticationProvider),登录成功处理器(JwtRefreshSuccessHandler),登录失败处理器(共用HttpStatusLoginFailureHandler),还有最后一个过滤器配置器(JwtLoginConfigurer)。
- JWT过滤器:和登录过滤器不一样,它继承的是 OncePerRequestFilter ,这里主要进行一个流程控制,URL白名单、匿名用户URL判断