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

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

我的application.properties文件具有以下行(ref1

ref2)。

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

我的REST控制器如下所示。

@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这样的帖子。我是否真的需要扩展此类以显式控制来源?我认为@CrossOrigin除了属性文件设置外,注释还可以控制允许的来源(而不是必须通过编程方式进行控制)。

回答:

但是,当我打开浏览器并输入http:// localhost:8080 / api /

car时,我仍然可以访问REST端点。

CORS的允许来源设置不会阻止您直接在浏览器中打开URL。

同源策略是施加跨域限制的方法,并且同源策略仅适用于在Web浏览器中运行的Web应用程序,并且使用XHR或Fetch或jQuery

$.ajax(…)或其他方法进行跨域请求。

因此,CORS并不是阻止用户直接导航到URL的方法,也不是阻止非Webapp客户端(例如curlPostman或其他任何人)访问URL的方法。

以上是 CORS允许的来源限制不会导致服务器拒绝请求 的全部内容, 来源链接: utcz.com/qa/418154.html

回到顶部