【发布时间】:2017-01-30 02:19:44
【问题描述】:
我找到了一个关于如何在 spring-boot 应用程序中设置 cors 标头的示例。由于我们有很多来源,我需要添加它们。以下是否有效?
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins("http://domain1.com")
.allowedOrigins("http://domain2.com")
.allowedOrigins("http://domain3.com")
}
}
除非它被三个域使用,否则我无法对此进行测试。但我想确保我设置了三个来源,并且不仅设置了“domain3.com”。
编辑:理想的用例是注入一个域列表(来自 application.properties)并将其设置在 allowedOrigins 中。有没有可能
即
@Value("${domainsList: not configured}")
private List<String> domains;
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**")
.allowedOrigins(domains)
}
}
【问题讨论】:
-
有人可以查看stackoverflow.com/q/59300723/8874958 吗?
-
请参阅 miko 的这篇关于 Spring 支持 setAllowedOriginPatterns 通配符的帖子回答:stackoverflow.com/questions/27147737/…
标签: spring spring-mvc spring-boot cors