前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >今日代码大赏 | Spring Boot 跨域配置

今日代码大赏 | Spring Boot 跨域配置

作者头像
程序员鱼皮
发布2024-05-10 19:47:06
590
发布2024-05-10 19:47:06
举报
文章被收录于专栏:鱼皮客栈鱼皮客栈

当前端和后端部署在不同的域名下时,会出现跨域问题。Spring Boot 框架提供了一种简单的方式来处理 CORS,允许开发者定义全局的跨域配置。

在 Spring Boot 中,我们可以使用 CorsWebFilter 来全局配置 CORS。

下面是 Spring Boot 中配置 CORS 的示例代码:

代码语言:javascript
复制
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;
import org.springframework.web.util.pattern.PathPatternParser;

import java.util.Arrays;

// 处理跨域的配置类
@Configuration
public class CorsConfig {

    @Bean
    public CorsWebFilter corsFilter() {
        CorsConfiguration config = new CorsConfiguration(); // 创建CORS配置
        config.addAllowedMethod("*"); // 允许所有HTTP方法
        config.setAllowCredentials(true); // 允许cookies
        // @todo 将下面的通配符替换为线上环境的真实域名
        config.setAllowedOriginPatterns(Arrays.asList("*")); // 允许所有域名
        config.addAllowedHeader("*"); // 允许所有头

        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
        source.registerCorsConfiguration("/**", config); // 为所有路径注册CORS配置

        return new CorsWebFilter(source); // 创建CorsWebFilter
    }
}

CORS 配置的优点

  • 安全性:允许开发者在放松同源策略的同时,仍然保持对哪些源可以访问资源的控制。
  • 灵活性:可以为不同的路径设置不同的CORS策略。

今天的代码大赏就到这里。希望通过这篇文章,你能够对 Spring Boot 跨域配置有一个更深入的理解。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-05-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员鱼皮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档