不会写开头,就这样吧~
我想让使用这个验证组件开发者配置越少越好
所以我使用了注解 类似于springboot的自动装配类
创建@EnableSecurityAuth注解作用于在application类上
用@Import来注入SecurityAuthAutoConfiguration类
SecurityAuthAutoConfiguration是用来注入校验token的Filter
当配置文件中只需要生成token不需要校验则禁用过滤器
读配置文件中信息 只用uri uriList是uri根据“,”转换得到的用于做地址匹配
SecurityAuthFilter类 很简单 校验是否当前uri是否在uriList中,再从header中获取token交给tokentask去校验校验成功了就继续否则直接返回
接下来是tokentask类 一个定时任务不断的获取新的token,然后本地保存远程存储保存一份,校验用远程的保存的token,使用用本地的token
也可以在refreshToken中连接统一的auth2.0得到token保存保存到本地,check方法调用auth2的校验
整个流程 项目启动 跑一个定时器 不断获取(创建)新的token,本地和远端各存一份,发送请求用本地的token,校验token就检查远端是否存在。
SecurityAuthAutoConfiguration用@ComponentScan主要是为了加载定时任务tokenTask
部分代码文件