关于springboot2.4跨域配置问题

作者:似水已流年 时间:2022-05-01 17:02:15 

 1、如果只是一个简单的springboot demo,用以下配置就行
新建config类


```
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
* @author yk
* @date 2021/7/19 14:36
*/
@Configuration
public class WebConfig implements WebMvcConfigurer {
   @Override
   public void addCorsMappings(CorsRegistry registry) {
       registry.addMapping("/**")
               .allowedOriginPatterns("*")
               .allowedMethods("*")
               .maxAge(3600)
               .allowCredentials(true);
   }
}

```

2、但是实际开发中我们需要结合,spring-security、oauth2等等,就会发现上面的配置失效了,那是因为前面的Filter优先级太高了,那我们可以采取如下配置


```

import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;

/**
* @author yk
* @date 2021/7/19 16:21
*/
@Configuration
public class CrosConfig {

@Bean
   public FilterRegistrationBean corsFilter() {
       CorsConfiguration config = new CorsConfiguration();
       config.setAllowCredentials(true);
       config.addAllowedOriginPattern("*");
       config.addAllowedHeader("*");
       config.addAllowedMethod("*");
       UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
       source.registerCorsConfiguration("/**", config);
       FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
       //这里设置优先级最高
       bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
       return bean;
   }
}

来源:https://blog.csdn.net/qq_38416500/article/details/118905401

标签:springboot,跨域
0
投稿

猜你喜欢

  • Android 多媒体播放API简单实例

    2022-12-12 18:53:24
  • Java数据结构之实现哈希表的分离链接法

    2023-09-06 04:50:17
  • Mybatis中连接查询和嵌套查询实例代码

    2021-08-23 13:24:31
  • Android实现Back功能代码片段总结

    2021-05-27 01:33:06
  • 在winform下实现左右布局多窗口界面的方法

    2023-02-23 11:31:51
  • 云计算实验:Java MapReduce编程

    2021-10-08 14:25:52
  • Eclipse开发环境导入android sdk的sample中的源码

    2021-06-08 05:28:38
  • Android入门之实现自定义Adapter

    2021-09-30 17:34:10
  • Java编程中的4种代码块详解

    2022-01-04 03:10:20
  • 全面解析Android应用开发中Activity类的用法

    2022-03-11 00:48:53
  • Java实现五子棋(附详细源码)

    2023-10-19 15:20:54
  • 基于html5+java实现大文件上传实例代码

    2023-09-26 02:14:29
  • IDEA配置使用Maven Helper插件的方法(详细配置)

    2022-07-17 03:09:21
  • SpringMVC实现文件上传和下载功能

    2022-10-03 18:22:27
  • java.lang.String类的使用

    2021-12-11 03:57:26
  • android简单自定义View实现五子棋

    2023-06-01 19:30:38
  • Java GUI编程实现在线聊天室

    2022-04-07 22:50:09
  • springboot前后台数据交互的示例代码

    2023-11-26 21:15:07
  • feign客户端设置超时时间操作

    2023-07-01 19:16:32
  • 一篇文章带你入门Java之编程规范

    2022-02-25 16:18:40
  • asp之家 软件编程 m.aspxhome.com