前端如何获取token

2025-04-18 19:04:27

1、如果用ThreadLocal的话也挺简单的,在过滤器中解析Token之后将用户ID set 到ThreadLocal中,在Controller中get就可以获取到了

前端如何获取token

2、定义:public static ThreadLoca盟敢势袂l<Long> loginUserThreadLocal = new ThreadLocal<>();设置:loginUserThreadLocal.set(userId);获取:loginUserThreadLocal.get()

前端如何获取token

3、需要注意的是:如果你的Controller方法用了@HystrixCommand注解,意味着这个方法执行的线程就是hystrix的线程了,过滤器中是容器的线程

前端如何获取token

4、这个时候用ThreadLocal是获取不到值的,这就涉及到了一个跨线程传递的问题了

前端如何获取token

5、我们锂淅铄旰直接在切面中对参数进行修改,最简单的方式是直接获取参数列表,然后修改,比如:Object[] args = joinPoint.get帆歌达缒Args();args[1] = 用户ID;return joinPoint.proceed(args);

前端如何获取token

6、我们基于约定好的变量名来讲解,反射获取方法名不是很方便,当jdk1.8中其实已经支持了,为了简化,我们可以用注解的方式来获取参数名称,当然这个注解你可以自定义

前端如何获取token
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢