我很难使用 Java 配置来获得全局 CORS 配置。我不确定这是否是一个已知问题,因为其他人也有同样的问题: Spring Global CORS configuration not working but Controller level config does
无论如何,让我进一步详细说明我正在尝试做的事情:
我正在使用 Spring 4.2.3.RELEASE(没有弹簧靴)。我正在尝试使用 Java config 配置全局 CORS 配置,以便我可以使用属性文件中的 @Value 注入 CORS 域(允许的来源)。因为据我所知,我无法在 mvc xml 命名空间中为 allowed-origin 注入值,如下图所示(如果您知道解决此问题的任何其他方法,请告诉我):
<mvc:cors>
<mvc:mapping path="/**" allowed-origins="${vrm.cors.domain}"
allowed-methods="*"
allowed-headers="*"
allow-credentials="false" max-age="3600"/>
</mvc:cors>
从这里的Spring 参考文档中,我正在尝试使用 java config 配置 Global CORS 来解决问题。但是,我无法让 CORS 工作。代码在应用程序启动期间确实调用,但来自客户端的调用总是返回
请求的资源上不存在“Access-Control-Allow-Origin”标头。因此不允许访问源“ http://localhost:3000 ”
@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {
@Value("${vrm.cors.domain}")
//vrm.cors.domain=/**
private String corsDomain;
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").
.allowedOrigins(vrm.cors.domain);
}
}