SpringBoot+Shiro后端无法获取到Header里面的Token问题

最近在做一个后台用Spring boot、Shiro、Mybatis plus 前台用React的项目.前端调完登录接口后。在调后台接口的时候需要在浏览器中的headers头中添加token的值,后台有一个过滤器,获取到headers中的token并去验证token是否在有效期内,在进行其他操作,在这个过程中,shiro的过滤器中一直接收不到token和值,并且前端会报跨域问题。

在这里插入图片描述
之前在写的时候一直用的postman测试,也没有遇到问题,其实是因为Postman本身就没有跨域问题。前后端联调时就遇到了这个问题。
主要原因是CROS在发送复复杂请求时会先发一个不带数据的Option请求,而后端因为有Shiro的存在,在检测到请求头中没有携带Token数据后就不放行了
解决办法

package com.active.config;
import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;

/**
 * @author 沈洋 邮箱:1845973183@qq.com
 * @create 02-06-2021-11:33
 **/

public class ShiroHeaderFilter extends FormAuthenticationFilter {
   


    //解决OPTIONS请求跨域问题
    @Override
    protected boolean isAccessAllowed(ServletRequest request, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shenyang1026

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值