美文网首页
springboot 处理cors预检请求

springboot 处理cors预检请求

作者: 王剑_a9e1 | 来源:发表于2019-03-11 03:17 被阅读0次

springboot自定义过滤器Filter进行JWT登陆令牌验证并设置响应头实现跨域失效是因为服务端未处理浏览器发送的预检请求。

cors有两类请求:1 简单请求 2 非简单请求
只要同时满足以下两大条件,就属于简单请求。

  1. 请求方法是以下三种方法之一:
    HEAD
    GET
    POST
  2. HTTP的头信息不超出以下几种字段:
    Accept
    Accept-Language
    Content-Language
    Last-Event-ID
    Content-Type:只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain
    凡是不同时满足上面两个条件,就属于非简单请求。

解决方案:

@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws JsonProcessingException, IOException {
        HttpServletRequest httpRequest = (HttpServletRequest) request;
        HttpServletResponse httpResponse = (HttpServletResponse) response;
        httpResponse.setHeader("Access-Control-Allow-Origin", "*"); 
        httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
        httpResponse.setHeader("Access-Control-Allow-Headers", "Content-Type, x-requested-with");  
        httpResponse.setHeader("Access-Control-Allow-Methods", "OPTIONS,GET,POST,DELETE,PUT"); 
        chain.doFilter(request, response);
}

相关文章

  • springboot 处理cors预检请求

    springboot自定义过滤器Filter进行JWT登陆令牌验证并设置响应头实现跨域失效是因为服务端未处理浏览器...

  • HTTP访问控制(CORS)

    简单请求 触发简单请求 某些请求不会触发 CORS 预检请求。本文称这样的请求为“简单请求”,请注意,该术语并不属...

  • CORS 比较详细的说明

    一个CORS请求的流程 发送一个预检请求都为Options请求,因为Options请求不会对服务器做出任何改动。且...

  • CORS预检请求触发条件

    1. 使用了下面任一HTTP 方法: PUT/DELETE/CONNECT/OPTIONS/TRACE/PATCH...

  • Zuul处理预检请求

    在spring cloud的Zuul服务网关的过滤器中,项目中使用JWT权限验证,前端JS为了兼容跨域请求,使用A...

  • HTTP options 方法的作用

    作用 1.检测服务器所支持的请求方法2.CORS中的预检请求 实现方法 装载路由中间件的allowedMethod...

  • 调用一次接口,发送一个post和一个options

    在 CORS-跨域资源共享 中,可以使用 OPTIONS 方法发起一个预检请求,以检测实际请求是否可以被服务器所接...

  • 🌐 关于 CORS 中的预检请求笔记

    背景 在一次POST请求调试过程中,发现连续发了两次请求,数据库中只创建了一条记录。 查看 OPTION 请求,发...

  • 预检请求

    问题:每次发起请求,同一条url有两条请求第一条请求Method是OPTIONS请求,第二条请求Method才是实...

  • CORS协议总结

    CORS协议总结 简单请求 预请求 附带凭证信息的请求 Access-Control-Max-Age Access...

网友评论

      本文标题:springboot 处理cors预检请求

      本文链接:https://www.haomeiwen.com/subject/nximpqtx.html