Springboot 403

了解CORS: 跨域资源共享 CORS 详解 - 阮一峰

# 1.项目未添加Security依赖

前端地址: http://localhost:9528 后端地址: http://localhost:8889

前端调用接口

对于非简单请求,浏览器首先会发起一个OPTIONS预检请求,询问服务器,当前网页所在的域名是否在服务器的许可名单之中,以及可以使用哪些HTTP动词和头信息字段。只有得到肯定答复,浏览器才会发出正式的XMLHttpRequest请求,否则就报错。

控制台:

出现了跨域情况

# 解决方案 1

在filter中添加白名单,完整filter代码⤵️

再次发起请求

OK了

随后浏览器会自动发起原请求

# 解决方案 2

新建CorsConfiguration配置类,自己百度

# 2.项目添加了Security依赖

需要额外添加如下配置

如果同时进行了filter和CorsConfiguration的配置,OPTIONS请求会返回403,并且控制台提示 非常恶心。 网上没有找到相应的解释。

疑问:OPTIONS请求到达服务器后是谁做出的响应

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181107G0SUJ900?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券