SpringBoot怎样实现简单的跨域配置

打印 上一主题 下一主题

主题 533|帖子 533|积分 1599

在SpringBoot中实现简单的跨域配置,主要通过全局CORS配置来完成。这通常涉及到实现WebMvcConfigurer接口并覆盖addCorsMappings方法。以下是一个简单的示例,展示了怎样在SpringBoot应用中配置CORS策略以允许跨域哀求。
首先,需要创建一个配置类,该类实现WebMvcConfigurer接口。然后,在addCorsMappings方法中定义你的CORS策略。
  1. import org.springframework.context.annotation.Configuration;
  2. import org.springframework.web.servlet.config.annotation.CorsRegistry;
  3. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  4. @Configuration
  5. public class CorsConfig implements WebMvcConfigurer {
  6.     @Override
  7.     public void addCorsMappings(CorsRegistry registry) {
  8.         // 添加一个映射,该映射应用于所有路径
  9.         registry.addMapping("/**")
  10.                 // 允许来自哪些源的跨域请求
  11.                 .allowedOrigins("http://example.com", "https://www.example.org")
  12.                 // 允许哪些HTTP方法,例如GET, POST, PUT, DELETE, OPTIONS等
  13.                 .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
  14.                 // 允许哪些头部信息
  15.                 .allowedHeaders("*")
  16.                 // 是否允许发送Cookies,设置为true时,前端需要在AJAX请求中设置xhrFields: {withCredentials: true}
  17.                 .allowCredentials(true)
  18.                 // 设置暴露给前端JS代码的头部信息
  19.                 .exposedHeaders("Authorization", "X-Requested-With", "Accept", "Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers");
  20.         // 如果你需要更精细的控制,可以为不同的路径设置不同的CORS策略
  21.         // registry.addMapping("/api/**").allowedOrigins("http://api.example.com");
  22.     }
  23. }
复制代码
在这个例子中,.addMapping("/**")表现CORS策略将应用于所有的哀求路径。.allowedOrigins()方法用于指定哪些源(即哪些域名或IP地点)可以发起跨域哀求。你可以根据需要添加多个源。
.allowedMethods()方法指定了允许的HTTP方法,这里包含了常用的GET、POST、PUT、DELETE和OPTIONS方法。.allowedHeaders("*")表现允许任何头部信息,但出于安全考虑,你大概盼望明确指定允许的头部。
.allowCredentials(true)是一个紧张的设置,它允许前端在AJAX哀求中发送Cookies。但是,当设置为true时,.allowedOrigins()不能包含通配符*,你需要明确指定允许的源。
.exposedHeaders()方法用于设置哪些头部信息应该被暴露给前端JS代码。这通常用于需要前端读取某些响应头信息的场景。
通过以上配置,你的SpringBoot应用就能够处理惩罚来自指定源的跨域哀求了。需要注意的是,CORS策略是欣赏器安全策略的一部分,它只在欣赏器端生效,后端服务之间调用不受CORS策略的限制。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表