Spring CorsFilter CorsConfiguration 允许多个来源
Spring CorsFilter CorsConfiguration Allow Multiple origins
我在 spring 项目中工作,我希望允许多个来源调用我的后端 API。
到目前为止,我的配置仅适用于一个来源。这是我的代码:
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOriginPattern("myoriginone");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
你知道我如何允许多个来源吗?类似于“host1”、“host2”之类的东西,因为 addAllowedOriginPattern() 方法只接受一个字符串参数。
此致。
如果您查看文档,allowedOrigins
是一个数组。
@Nullable
private List<String> allowedOrigins;
下面的方法是设置允许的来源。显然,您可以多次调用该方法来添加不同的来源。
/**
* Add an origin to allow.
*/
public void addAllowedOrigin(String origin) {
if (this.allowedOrigins == null) {
this.allowedOrigins = new ArrayList<>(4);
}
else if (this.allowedOrigins == DEFAULT_PERMIT_ALL) {
setAllowedOrigins(DEFAULT_PERMIT_ALL);
}
this.allowedOrigins.add(origin);
}
或
使用以下内容
public void setAllowedOrigins(@Nullable List<String> allowedOrigins) {
this.allowedOrigins = (allowedOrigins != null ? new ArrayList<>(allowedOrigins) : null);
}
我在 spring 项目中工作,我希望允许多个来源调用我的后端 API。 到目前为止,我的配置仅适用于一个来源。这是我的代码:
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.addAllowedOriginPattern("myoriginone");
config.addAllowedHeader("*");
config.addAllowedMethod("*");
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
你知道我如何允许多个来源吗?类似于“host1”、“host2”之类的东西,因为 addAllowedOriginPattern() 方法只接受一个字符串参数。
此致。
如果您查看文档,allowedOrigins
是一个数组。
@Nullable
private List<String> allowedOrigins;
下面的方法是设置允许的来源。显然,您可以多次调用该方法来添加不同的来源。
/**
* Add an origin to allow.
*/
public void addAllowedOrigin(String origin) {
if (this.allowedOrigins == null) {
this.allowedOrigins = new ArrayList<>(4);
}
else if (this.allowedOrigins == DEFAULT_PERMIT_ALL) {
setAllowedOrigins(DEFAULT_PERMIT_ALL);
}
this.allowedOrigins.add(origin);
}
或
使用以下内容
public void setAllowedOrigins(@Nullable List<String> allowedOrigins) {
this.allowedOrigins = (allowedOrigins != null ? new ArrayList<>(allowedOrigins) : null);
}