From 1a676ea23870840fa6421dd338d1320516db0290 Mon Sep 17 00:00:00 2001 From: Tom Li Date: Fri, 5 Dec 2025 14:34:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E5=B1=80=E8=B7=A8=E5=9F=9F=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E5=99=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/jinchao/config/CorsConfig.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/java/org/springblade/modules/jinchao/config/CorsConfig.java diff --git a/src/main/java/org/springblade/modules/jinchao/config/CorsConfig.java b/src/main/java/org/springblade/modules/jinchao/config/CorsConfig.java new file mode 100644 index 0000000..a77cb36 --- /dev/null +++ b/src/main/java/org/springblade/modules/jinchao/config/CorsConfig.java @@ -0,0 +1,39 @@ +package org.springblade.modules.jinchao.config; + +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 { + + /** + * 全局跨域过滤器 + */ + @Bean + public CorsFilter corsFilter() { + // 1. 创建跨域配置对象 + CorsConfiguration config = new CorsConfiguration(); + // 核心:允许所有域名跨域(对应Access-Control-Allow-Origin: *) + config.addAllowedOriginPattern("*"); + // 等价于(SpringBoot3.0+推荐用allowedOriginPatterns,替代已过时的allowedOrigins) + // config.setAllowedOrigins(Collections.singletonList("*")); // 旧写法,已标记过时 + // 允许所有请求头 + config.addAllowedHeader("*"); + // 允许所有HTTP方法(GET/POST/PUT/DELETE等) + config.addAllowedMethod("*"); + // 允许携带Cookie(如需跨域传递Cookie,需开启此配置) + config.setAllowCredentials(true); + // 预检请求有效期(秒),避免频繁发送OPTIONS请求 + config.setMaxAge(3600L); + + // 2. 配置跨域规则生效的URL(所有接口) + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/**", config); // /** 表示所有接口都生效 + + // 3. 返回跨域过滤器 + return new CorsFilter(source); + } +}