当前位置: 首页 > news >正文

【SpringBoot】WebConfig 跨域配置详细说明

功能概述

WebConfig 是一个 Spring Boot 配置类,主要用于配置跨域资源共享 (CORS) 策略,解决前端应用访问后端 API 时的跨域问题。

package com.example.springboot.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;/*** Web配置类* 用于配置跨域资源共享(CORS)等Web相关设置*/
@Configuration
public class WebConfig {/*** 配置跨域资源共享* 允许前端应用访问后端API* * @return CorsFilter*/@Beanpublic CorsFilter corsFilter() {CorsConfiguration config = new CorsConfiguration();   // 允许所有域名进行跨域调用config.addAllowedOriginPattern("*");		          // 允许跨越发送cookieconfig.setAllowCredentials(true);			          // 放行全部原始头信息config.addAllowedHeader("*");				          // 允许所有请求方法跨域调用config.addAllowedMethod("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", config);return new CorsFilter(source);}
}

配置详情

跨域配置 (CORS)

通过 corsFilter() 方法配置了一个全局的 CORS 过滤器:

  1. 允许的源:

    • config.addAllowedOriginPattern("*"): 允许所有域名进行跨域访问
    • 注意:在生产环境中,建议替换为具体的前端域名而非通配符,以增强安全性
  2. 凭证支持:

    • config.setAllowCredentials(true): 允许跨域请求携带认证信息(如 cookies)
  3. 请求头设置:

    • config.addAllowedHeader("*"): 允许所有请求头信息
  4. HTTP 方法:

    • config.addAllowedMethod("*"): 允许所有 HTTP 方法(GET, POST, PUT, DELETE 等)
  5. 路径匹配:

    • source.registerCorsConfiguration("/**", config): 对所有路径应用此 CORS 配置

使用建议

  1. 生产环境调整:

    • 建议将 addAllowedOriginPattern("*") 替换为具体的前端域名,例如:
      config.addAllowedOriginPattern("https://yourdomain.com");
      config.addAllowedOriginPattern("https://yourotherdomain.com");
      
  2. 安全性考虑:

    • 如果不需要凭证,应将 setAllowCredentials(false) 以提高安全性
    • 可以根据实际需求限制允许的 HTTP 方法和请求头
  3. 测试环境:

    • 当前配置非常适合开发和测试环境
    • 允许所有来源、方法和头部的配置便于前端开发调试

集成方式

该配置类会自动被 Spring Boot 加载,无需额外配置。只需确保该类位于主应用类所在的包或其子包中。

版本兼容性

  • 适用于 Spring Boot 2.4.x 及以上版本
  • addAllowedOriginPattern 方法在 Spring Boot 2.4.0 引入,替代了之前版本的 addAllowedOrigin

转载吱一声~

相关文章:

  • 「蛮荒桌面下载」蛮荒桌面美化版 官方免费下载安卓电视版安装
  • java每日精进 4.26【多租户之过滤器及请求处理流程】
  • Eigen库入门
  • Day13(前缀和)——LeetCode2845.统计趣味子数组的数目
  • Python Cookbook-6.10 保留对被绑定方法的引用且支持垃圾回收
  • Eigen稀疏矩阵类 (SparseMatrix)
  • Centos7系统防火墙使用教程
  • 某东h5st_5.1(补环境)
  • qt/c++云对象浏览器
  • 文章记单词 | 第46篇(六级)
  • java函数式接口与方法引用
  • 八猴渲染器三维场景实时预览软件 Marmoset Toolbag 5.01 安装包免费下载
  • 山东大学离散数学第九章习题解析
  • C++ 为什么建议类模板定义在头文件中,而不定义在源文件中
  • Nacos详解
  • Python 第 12、13 节课 - 元组和列表
  • Linux基本指令(保姆级教学)
  • 【新技术】Testfy.js v3.0 深度解析与使用指南
  • 关于循环缓冲区
  • MUC基本知识
  • 南阳市委原书记朱是西被“双开”:搞劳民伤财的“政绩工程”
  • 新闻1+1丨应对外部冲击,中央政治局会议释放哪些信号?
  • 从中央政治局会议看经济工作着力点:以高质量发展的确定性应对外部不确定性
  • 珠海市香洲区原区长刘齐英落马,此前已被终止省人大代表资格
  • 贵州赤水被指“整改复耕”存形式主义,当地部署耕地流出整改“回头看”
  • 影子调查丨掉落的喷淋头:太原一7天酒店加盟店消防设施造假迷局