最近写项目遇到前端请求拦截器将token加到请求头之中,但是在java页面怎么样也获取不到的问题作以记录,以便之后遇见方便查找。
原因:(百度出来的)在前后端分离项目中,前端请求据说会先发送一个预请求,这个请求不能加入自定义元素,据说可以改已有的,但我试了,没管用。所以需要在后端拦截器将这个预请求给放过,处理真正的请求。
下面是将需要的代码进行CV大法
前端需要的代码
在vue脚手架的main函数中结尾加上请求拦截器,将token放在请求头之中
后端需要的代码
在boot项目的拦截器之中将下列代码CV到preHandle方法最上边
over~
没有对乱码进行转译。后端会返回文件流的形式,前端没有收到token,前端需要对乱码进行转译成正常的,先创建一个公共的方法文件,就可以在项目的任何地方使用,所以后端返回文件流,前端下载报没有token是因为前端没有对乱码进行转译。Token,英语单词,名词、形容词,作名词时意为“(用以启动某些机器或用作支付方式的)代币,辅币;代价券;礼券;标志。
处理方法如下。
1、如果使用session,首先如果是单例服务可以使用,如果是分布式的得先解决分布式session问题,然后看session处理token,后台登录成功以后获取session,然后将登录的信息缓存后放到session中,以后每次请求不需要携带token,后台可以获取到session并获取到session,如果有自动刷新,后台校验token失效后可再拿refreshtoken刷新access_token,刷新后的token重新缓存,并重新放入session中,放缓存是因为刷新token需要使用到。
2、不使用session,后台生成token并缓存,将token和登录信息给前端返回,前端获取token并存储到cookie或者localstage中,以后的请求头中都设置从cookie中获取的token,后端截取token做校验。
以上就是关于关于前后端分离情况值request获取不到token值全部的内容,包括:关于前后端分离情况值request获取不到token值、后端返回文件流,前端下载报没有token、java调用外部接口获取的token怎么处理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)