後端跨域配置(通用)

XiangdxDu發表於2024-03-08
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;

/**
*配置了跨域請求的相關設定,允許指定的來源、請求頭、請求方法,並設定最大有效時長。
*/
@Configuration
public class CorsConfig {

// 當前跨域請求最大有效時長。這裡預設1天
private static final long MAX_AGE = 24 * 60 * 60;

/**
* 配置跨域過濾器
*
* @return CorsFilter例項
*/
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 設定允許的訪問源地址與前端相連線
corsConfiguration.addAllowedOrigin("http://localhost:8080"); // 1 設定訪問源地址與前端相連線
// corsConfiguration.addAllowedOrigin("http://127.0.0.1:8080"); // 1 設定訪問源地址與前端相連線
corsConfiguration.addAllowedHeader("*"); // 2 設定訪問源請求頭
corsConfiguration.addAllowedMethod("*"); // 3 設定訪問源請求方法
corsConfiguration.setMaxAge(MAX_AGE);
source.registerCorsConfiguration("/**", corsConfiguration); // 4 對介面配置跨域設定
return new CorsFilter(source);
}
}

相關文章