项目复盘一、通过SpringBoot中Filter获取token

项目背景:

        和甲方合作项目,项目基础数据在甲方那里,后端要获取基础数据,需要调用甲方接口获取token,再用token调用其他接口获取相应的基础数据,在此背景下,完成了开发。最后测试阶段,甲方提出,要对用户进行鉴权,根据权限获取对应的基础数据,因此后端不能直接调用甲方的登陆接口获取token了,要从web端拿到token,所以要对已完成开发的部分进行改造。

实现方案:

        1.所有要调用到甲方基础数据的接口上添加注解@RequestHeader,控制层拿到token后放到业务层去处理,方法显然可行但很呆,而且工作量巨大,如果其他微服务对该服务的接口存在调用,还会报错。

        2.使用SpringBoot中Filter获取token,把token放到本地线程中,只修改以前封装好的获取甲方token的方法,该方案对代码改动小,安全性上有保障。

实现方式:

        1.在springboot启动类添加该注解@ServletComponentScan
        2.写个过滤器类,实现Filter接口,把获取到的token放入到本地线程

3.定义了一个TokenUtil类,通过静态方法来获取存储在ThreadLocal中的token

4.修改以前封装好的获取甲方token的方法

  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值