SpringBoot3配置全局跨域

定义CorsFilter Bean:

@Bean注解用于声明这是一个Spring管理的Bean
corsFilter方法返回一个CorsFilter实例,该实例用于处理跨域请求。

创建CORS配置对象:

CorsConfigurationSpring框架提供的CORS配置类,用于定义CORS策略。
通过config.addAllowedOrigin("*")允许所有来源的访问。实际应用中,可以设置具体的域名来限制访问。
通过config.addAllowedHeader("*")允许所有请求头。实际应用中,可以设置具体的请求头来限制访问。
通过config.addAllowedMethod("*")允许所有HTTP方法。实际应用中,可以设置具体的HTTP方法来限制访问。

创建基于URL的CORS配置源:

UrlBasedCorsConfigurationSourceSpring框架提供的基于URL的CORS配置源类
通过source.registerCorsConfiguration("/**", config)CORS配置应用到所有路径。"/**"表示匹配所有路径。

返回CorsFilter实例:

最后,返回一个新的CorsFilter实例,并传入CORS配置源。该过滤器将在处理每个请求时应用上述CORS配置,从而实现跨域资源共享。
通过这种方式,你可以灵活地控制哪些域名、请求头和HTTP方法可以访问你的应用资源,从而确保安全性和灵活性。

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 {

    // 定义一个CorsFilter Bean,用于处理跨域请求
    @Bean
    public CorsFilter corsFilter() {
        // 创建CORS配置对象
        CorsConfiguration config = new CorsConfiguration();
        // 允许所有来源的访问
        config.addAllowedOrigin("*");
        // 允许所有的头部信息
        config.addAllowedHeader("*");
        // 允许所有的HTTP方法
        config.addAllowedMethod("*");
        // 创建基于URL的CORS配置源
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        // 注册CORS配置到指定路径,这里使用"/**"表示对所有路径都生效
        source.registerCorsConfiguration("/**", config);
        // 返回新的CorsFilter实例,传入CORS配置源
        return new CorsFilter(source);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JsonToDart

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值