Spring Cloud Alibaba#30-32.巧用注解实现通用JWT校验
本文讲解在SpringBoot利用自定义注解实现通用的JWT校验方案
笔记对应学习视频:
https://www.itlaoqi.com/chapter/2672.html
本节我们将利用注解开发一个通用的JWT前置校验功能
设计的预期:
- 系统中并不是所有的应用都需要JWT前置校验,这就需要额外设计一个注解Annotation来标识这个方法需要JWT前置校验.例如:
Article-Service改造步骤
- pom.xml引入JJWT
- application.yml增加appkey秘钥
3.创建自定义注解@JwtToken
4.在ArticleController增加doSth测试方法
5.创建TokenInterceptor实现代码拦截JWTToken业务验证逻辑
6.启动应用,
未包含Token请求头
包含Token请求头
required=false同样可以业务处理成功
7.将Token中包含的用户数据与业务逻辑绑定,如果Token验证成功,TokenInterceptor会把用户信息转为User对象放入当前请求$user属性中
之后在list方法中,使用@RequestArrtibute()进行提取即可.
ArticleService增加业务处理代码,根据用户级别查看不同的结果
ArticleMapper进行修改,增加level参数
至此业务代码改造完毕
用户未登录或普通用户只能看到ArticleType=1的普通文章
而VIP身份用户则可以看到所有文章