使用Spring Boot的CORS-将GET请求限制到某些域

时间:2018-11-14 21:09:09

标签: spring-boot get cors

我正在使用Spring Boot,并且只想限制来自某些域的HTTP GET请求。例如,我只想接受来自预定义域列表的请求(例如https://www.frontend.comhttps://www.test-frontend.com)。我该如何实现这种功能?

我预计会遇到CORS问题,但是这些不适用于GET请求。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/api/**")
            .allowedOrigins("https://www.frontend.com", "https://www.test-frontend.com")
            .allowedMethods("GET");
    }

参考:https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/cors.html

答案 1 :(得分:1)

首先.allowedMethods用于allow方法,因此,如果您不想允许"GET",则放置所有其他方法,但不要放置GET方法,如下所示:

.allowedMethods("PUT", "DELETE", "PATCH")

第二,您不能通过CORS这样的客户端,例如curl或Postman,任何非Web应用程序客户端,来进行non-webapp