gpt4 book ai didi

java - CORS 允许来源限制不会导致服务器拒绝请求

转载 作者:搜寻专家 更新时间:2023-11-01 01:25:01 24 4
gpt4 key购买 nike

我正在使用 Spring Boot v1.5.1,似乎我对 CORS 源的限制不起作用。

我的 application.properties 文件包含以下行 ( ref1 ref2 )。

endpoints.cors.allowed-origins=http://mydomain.io

我的 REST Controller 如下所示。

@RestController
@CrossOrigin
@RequestMapping("/api/car")
public class CarCtrl {
@Autowired
private CarService carService;

@GetMapping
public Car get() {
return carService.getLatest();
}
}

但是,当我打开浏览器并输入 http://localhost:8080/api/car 时,我仍然能够访问 REST 端点。

我也尝试过如下更改我的注释,但这不起作用。

@CrossOrigin("${endpoints.cors.allowed-origins}")

对我做错了什么有什么想法吗?

请注意,我没有像这样使用 WebMvcConfigurerAdapter post .我真的需要扩展这个类来显式控制来源吗?我认为除了属性文件设置之外,@CrossOrigin 注释还能够控制允许的来源(而不是必须以编程方式这样做)。

最佳答案

However, when I open up a browser and type in http://localhost:8080/api/car I am still able to access the REST endpoint.

CORS 允许来源设置不会导致服务器阻止请求。

因为服务器没有阻止请求,所以不会阻止您直接在浏览器中打开 URL。

同源策略是强加跨源限制的,同源策略仅适用于在网络浏览器中运行的网络应用程序中的前端 JavaScript,并使用 XHR 或 Fetch 或 jQuery $.ajax (...) 或任何发出跨域请求的东西。

因此 CORS 不是导致服务器阻止请求的方法。因此,它也不是阻止用户直接导航到 URL 的方法,也不是阻止任何非 Web 应用程序工具(如 curl 或 Postman 或其他工具)的方法从访问 URL。

关于java - CORS 允许来源限制不会导致服务器拒绝请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42708660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com