前端如何获取token
1、如果用ThreadLocal的话也挺简单的,在过滤器中解析Token之后将用户ID set 到ThreadLocal中,在Controller中get就可以获取到了
2、定义:public static ThreadLoca盟敢势袂l<Long> loginUserThreadLocal = new ThreadLocal<>();设置:loginUserThreadLocal.set(userId);获取:loginUserThreadLocal.get()
3、需要注意的是:如果你的Controller方法用了@HystrixCommand注解,意味着这个方法执行的线程就是hystrix的线程了,过滤器中是容器的线程
4、这个时候用ThreadLocal是获取不到值的,这就涉及到了一个跨线程传递的问题了
5、我们锂淅铄旰直接在切面中对参数进行修改,最简单的方式是直接获取参数列表,然后修改,比如:Object[] args = joinPoint.get帆歌达缒Args();args[1] = 用户ID;return joinPoint.proceed(args);
6、我们基于约定好的变量名来讲解,反射获取方法名不是很方便,当jdk1.8中其实已经支持了,为了简化,我们可以用注解的方式来获取参数名称,当然这个注解你可以自定义
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:22
阅读量:55
阅读量:45
阅读量:26
阅读量:79