Access-Control-Request-Headers: authorization 401

后端加了Authorization验证,前端在header里加了authorization,然而结果还是401,发现是跨域先要发一个预检请求,参考https://segmentfault.com/a/1190000006095018

Access-Control-Request-Headers: authorization 401_第1张图片

解决方案参考https://segmentfault.com/q/1010000012364132

if (request.getMethod().equals("OPTIONS"))
            //跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站有权限访问哪些资源。
            // 另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求),
            // 浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),
            // 从而获知服务端是否允许该跨域请求。服务器确认允许之后,才发起实际的 HTTP 请求。
            // 在预检请求的返回中,服务器端也可以通知客户端,是否需要携带身份凭证(包括 Cookies 和 HTTP 认证相关数据)。
            // 参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
            response.setStatus(HttpServletResponse.SC_OK);
        else
            filterChain.doFilter(request, response);

你可能感兴趣的:(java,js)