项目搭建与拆分之初,我希望能抽出一个单独的认证服务与全局校验的公共模块。认证模块是一个完整的服务,通过认证后,前端携带请求头可以任意访问其它对外服务。
如用户服务中的用户详情
那么首先要有支持统一校验的一套方法,我添加了JWT进行token的生成与校验,并将用户的基础信息保存在token中统一返回给前端,并再校验时解析token以获取用户的基础信息。
Token的全局校验
对请求进行拦截,并获取请求头中的token
在公共模块中添加一个统一的拦截器,对Token进行解析和验证。
做一个简单的代码实现
在用户服务中引用该模块
注意启动类所在的包,Springboot启动时的注解扫描是由启动类所在的包进行扫描,若模块包名与主模块平行,会导致拦截器没有扫描注册而导致拦截器失效。添加完成后进行校验。
将token添加至请求头,并进行请求。