package com.yingu.project.rest.config;
import com.yingu.project.util.config.SysConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 跨域设置
*/
@Configuration
public class CrosConfig {
@Autowired
SysConfig sysConfig;
@Bean
public CorsFilter corsFilter() {
final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
final CorsConfiguration corsConfiguration = new CorsConfiguration();
/*是否允许请求带有验证信息*/
corsConfiguration.setAllowCredentials(true);
/*允许访问的客户端域名*/
List<String> allowedOrigins=new ArrayList<>();
//多个ip
// allowedOrigins.add("http://localhost:8081");
// allowedOrigins.add("http://localhost:8082");
// corsConfiguration.setAllowedOrigins(allowedOrigins);
//单个ip
//corsConfiguration.addAllowedOrigin("*");//*表示不限制Ip
//读取配置方式 格式http://xxx,http://xxx
List<String> list= Arrays.asList( sysConfig.getCros_url().split(","));
for(String item :list){
if(!item.isEmpty()){
allowedOrigins.add(item);
}
}
corsConfiguration.setAllowedOrigins(allowedOrigins);
/*允许服务端访问的客户端请求头*/
corsConfiguration.addAllowedHeader("*");
/*允许访问的方法名,GET POST等*/
corsConfiguration.addAllowedMethod("*");
urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
return new CorsFilter(urlBasedCorsConfigurationSource);
}
}
spring boot跨域设置
猜你喜欢
转载自blog.csdn.net/qq812858143/article/details/84334869
今日推荐
周排行