CorsConfiguration corsConfig = new CorsConfiguration(); corsConfig.addAllowedOriginPattern("*");怎么配置允许多个域名访问
时间: 2024-12-22 08:17:06 浏览: 6
`CorsConfiguration` 是用于跨域资源共享 (Cross-Origin Resource Sharing) 的Spring Boot或Web应用中的一个配置对象。通过 `corsConfig.addAllowedOriginPattern("*")` 这行代码,你设置了允许所有(*)来源的跨域请求。星号 (*) 表示通配符,表示无论客户端来自哪个域名,只要是HTTP请求,都会被服务器接受。
如果你想配置多个具体的域名,可以将星号替换为数组或逗号分隔的字符串,例如:
```java
corsConfig.addAllowedOrigin("http://example.com");
corsConfig.addAllowedOrigin("https://api.example.org");
```
或者如果你使用的是正则表达式,可以用以下形式:
```java
corsConfig.addAllowedOriginPattern("(http:\\/\\/www\\.example1\\.com|https:\\/\\/www\\.example2\\.net)");
```
这将会允许 `example1.com` 和 `example2.net` 两个域名的跨域请求。
相关问题
CorsConfiguration corsConfiguration = new CorsConfiguration();
这是一个创建CORS配置对象的Java代码。CORS是一种安全策略,用于限制Web应用程序的跨域HTTP请求。通过创建CorsConfiguration对象,可以配置允许跨域请求的源、HTTP方法和头信息。例如,可以使用以下代码将所有源的GET、POST和OPTIONS请求允许跨域访问:
```
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedMethod("GET");
corsConfiguration.addAllowedMethod("POST");
corsConfiguration.addAllowedMethod("OPTIONS");
corsConfiguration.addAllowedHeader("*");
```
这将允许任何源的GET、POST和OPTIONS请求跨域访问,并允许所有头信息。
public class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); return corsConfiguration; } @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", buildConfig()); return new CorsFilter(source); } } 帮我解释下这个代码
这段代码是一个Java类,名为CorsConfig。它用于配置跨域资源共享(CORS)策略。CORS是一种机制,用于允许在一个域中加载来自不同域的资源。在这个代码中,我们使用了Spring框架提供的CorsConfiguration和CorsFilter来实现CORS配置。
在buildConfig()方法中,我们创建了一个CorsConfiguration对象,并使用addAllowedOrigin("*")来允许所有来源的请求,addAllowedHeader("*")来允许所有的请求头,addAllowedMethod("*")来允许所有的请求方法。你也可以根据具体需求进行定制化配置。
在corsFilter()方法中,我们创建了一个UrlBasedCorsConfigurationSource对象,并将之前创建的CorsConfiguration对象注册到该source中。然后,我们创建了一个CorsFilter对象,并将source作为参数传入。
这样,在应用程序中使用这个CorsFilter,就可以实现对跨域请求的处理,确保安全地加载来自不同域的资源。
阅读全文