我正在使用Spring Boot,并且只想限制来自某些域的HTTP GET请求。例如,我只想接受来自预定义域列表的请求(例如https://www.frontend.com,https://www.test-frontend.com)。我该如何实现这种功能?
我预计会遇到CORS问题,但是这些不适用于GET请求。有什么想法吗?
答案 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
。