在spring boot+vue项目中@CrossOrigin 配置了允许跨域但是依然报错跨域,解决跨域请求的一次残酷经历

首先,说一下我们的项目情况,我们项目中后端有一个过滤器,如果必须要登录的接口路径会被拦下来检查,前端要传一个token,然后后端根据这个token来判断redis中这个用户是否已经登录。

        if (request.getMethod().equals("OPTIONS")){
            System.out.println(request.getMethod());
            filterChain.doFilter(request, response);
            return;
        }

前端报错,我一看哎跨域问题,于是后端配置允许跨域各种配置都不好使,问题排查OPTIONS请求不能带自定义token所有后端拦下来请求以后拿不到token,后端拿不到token就直接重定向到错误处理接口然后返回从错误处理接口中返回具体的错误情况,

在spring boot+vue项目中@CrossOrigin 配置了允许跨域但是依然报错跨域,解决跨域请求的一次残酷经历_第1张图片

解决办法,判断token之前如果OPTIONS请求直接放行

在spring boot+vue项目中@CrossOrigin 配置了允许跨域但是依然报错跨域,解决跨域请求的一次残酷经历_第2张图片

你可能感兴趣的:(spring,boot,vue.js,后端,java,jar,跨域问题,OPTIONS请求)