springboot拦截器无法获取token值的问题

springboot拦截器无法获取token值的问题

问题描述

前后端分离项目使用token进行登录及接口校验,出现在后端拦截器中无法获取前端请求头中的token值,导致所有前端请求校验无法通过

导致该问题的原因

浏览器在发送请求时会默认先发送一次类型为’option’且不带任何参数的请求,请求成功后才会发送真正的Post或者get请求,简单说明一下什么是option请求:

跨域请求中,options请求是浏览器自发起的preflight request(预检请求),以检测实际请求是否可以被浏览器接受。
	preflight request请求报文中有两个需要关注的首部字段:
	(1)Access-Control-Request-Method:告知服务器实际请求所使用的HTTP方法;
	(2)Access-Control-Request-Headers:告知服务器实际请求所携带的自定义首部字段。

而在后台拦截器中通常只处理了post或者get类型的请求,而没有对option类型的请求做处理,因此前端发送的预检请求无法通过后端的拦截器,导致真正的Post(get)请求无法发送

解决办法

后端拦截器添加处理option类型的请求的方法,保证预检请求通过后则可以正常的获取前端请求头中的token值

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值