`
zweichxu
  • 浏览: 134836 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

springboot2.4.1跨域设置的变化

阅读更多

最近手贱,把一个项目的springboot版本由2.3升级到了2.4.1,结果开发时跨域失效了。查看接口日志,报错:

java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*"since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins, list them explicitly or consider using "allowedOriginPatterns" instead.
	at org.springframework.web.cors.CorsConfiguration.validateAllowCredentials(CorsConfiguration.java:453)
	at org.springframework.web.cors.CorsConfiguration.checkOrigin(CorsConfiguration.java:557)
	at org.springframework.web.cors.DefaultCorsProcessor.checkOrigin(DefaultCorsProcessor.java:174)

 

原来开发版本的跨域这样设置:

@Bean
    public FilterRegistrationBean<CorsFilter> corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        config.addAllowedOrigin("*");
        config.addAllowedHeader("*");
        config.addAllowedMethod("*");
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        FilterRegistrationBean<CorsFilter> bean = new FilterRegistrationBean<CorsFilter>(new CorsFilter(source));
        bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
         
        return bean;
    }

   开发版本为了让所有web开发人员能访问,直接config.addAllowedOrigin("*"),到spring boot 2.4.1版本(对应spring5.3),allowCredentials为true的情况下,不允许addAllowedOrigin为“*”。当然可以使用allowedOriginPatterns代替。

    @Bean
    public FilterRegistrationBean<CorsFilter> corsFilter() {
        CorsConfiguration config = new CorsConfiguration();
        config.setAllowCredentials(true);
        
        List<String> allowedOriginPatterns = new ArrayList<>();
        allowedOriginPatterns.add("*");
        config.setAllowedOriginPatterns(allowedOriginPatterns);
        // config.addAllowedOrigin("*");
        config.addAllowedHeader("*");
        config.addAllowedMethod("*");
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", config);
        FilterRegistrationBean<CorsFilter> bean = new FilterRegistrationBean<CorsFilter>(new CorsFilter(source));
        bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
        
        logger.warn("======CorsFilter injection=====AllowedOrigin: *====");
        
        return bean;
    }

   

分享到:
评论

相关推荐

    SpringBoot人脸注册登录项目源码

    项目介绍 项目主要使用的是Spring+SpirngMvc+SpringBoot敏捷开发系统架构,使用百度智能云提供人脸识别接口 技术选型 SpringBoot 2.4.1 Spring SpringMvc Mysql 5.7 BaiduAip 4.15.1 Fastjson 1.2.70

    .NetSignalR跨域

    本示例将探讨SignalR如何处理跨域通信,这是一个常见的Web开发需求,因为通常情况下,浏览器出于安全考虑会限制不同源之间的通信。 跨域(CORS)是Web应用程序中的一项机制,允许浏览器执行原本受限的HTTP请求。...

    nacos-server-2.4.1.zip 注册及配置中心

    nacos-server-2.4.1.zip 注册及配置中心

    hadoop2.4.1

    - **Zookeeper Quorum**:用于协调NameNode之间的选举过程,以及监控NameNode的状态变化。 - **ZKFC (Zookeeper Failover Controller)**:运行在每个NameNode上,用于监控NameNode的状态并与Zookeeper进行交互,以...

    apktool2.4.1.jar

    apktool2.4.1版本jar,在官网拖下来太慢了,因此找了个给大家下载,这个是当前最新版本2.4.1,解包出现问题就更新一下apktool,一般问题得以解决。

    apktool.jar最新版2.4.1

    本文将详细探讨APKTool的最新版2.4.1,以及它在反编译过程中的关键作用。 APKTool是由IzzySoft开发的一款开源工具,其主要功能是对APK进行反编译,将Dalvik字节码(DEX)转换为人类可读的Smali语言,同时解压缩并...

    bison 2.4.1 fro windows

    《 Bison 2.4.1 for Windows:解析器生成器详解及应用》 Bison,全称为GNU Bison,是一款强大的解析器生成器,主要用于构建计算机语言的语法分析器。在Windows环境中,Bison 2.4.1版本的发布为开发者提供了一款稳定...

    hadoop-2.4.1版本大数据

    《Hadoop 2.4.1版本:大数据处理的核心与实践》 Hadoop,作为大数据处理领域的核心组件,自诞生以来就备受关注。Hadoop 2.4.1是其发展过程中的一个重要版本,它在稳定性、性能和可扩展性上都有显著提升,为大数据的...

    kafka-clients-2.4.1-API文档-中文版.zip

    赠送jar包:kafka-clients-2.4.1.jar; 赠送原API文档:kafka-clients-2.4.1-javadoc.jar; 赠送源代码:kafka-clients-2.4.1-sources.jar; 赠送Maven依赖信息文件:kafka-clients-2.4.1.pom; 包含翻译后的API文档...

    kafka-clients-2.4.1-API文档-中英对照版.zip

    赠送jar包:kafka-clients-2.4.1.jar; 赠送原API文档:kafka-clients-2.4.1-javadoc.jar; 赠送源代码:kafka-clients-2.4.1-sources.jar; 赠送Maven依赖信息文件:kafka-clients-2.4.1.pom; 包含翻译后的API文档...

    bison-2.4.1.tar.gz

    《深入解析bison-2.4.1:构建解析器的利器》 “bison-2.4.1.tar.gz”这个压缩包文件是开源软件项目bison的一个特定版本,版本号为2.4.1。bison是一个强大的语法分析器生成器,它基于Yacc(Yet Another Compiler-...

    python官方2.4.1版本msi安装包

    3. 安装过程:安装python-2.4.1.msi时,用户通常会经历一系列步骤,如选择安装路径、是否设置环境变量、是否创建桌面快捷方式等。安装完成后,系统会自动配置Python路径,使得用户可以在命令行中通过`python`命令...

    protobuf-2.4.1.zip

    标题 "protobuf-2.4.1.zip" 指向的是 Protocol Buffers(简称protobuf)的一个版本2.4.1的归档文件。Protocol Buffers是Google开发的一种数据序列化协议,它允许开发者定义数据结构,然后生成能够在各种数据平台之间...

    protobuf-java-2.4.1

    protobuf-java-2.4.1.jar

    TcPlayer-2.4.1.zip

    例如,开发者可以通过API调用设置播放速度、添加事件监听器、控制视频流的质量切换,甚至实现自定义的播放控制界面。 TCPlayer作为开源项目,可能拥有活跃的社区支持,提供了详细的文档、示例代码和问题解答,帮助...

    最新版windows kafka_2.12-2.4.1.tgz

    《Windows环境下Kafka 2.12-2.4.1的详细指南》 Kafka是一款高吞吐量、分布式的消息发布与订阅系统,由LinkedIn开发并贡献给了Apache软件基金会。在本文中,我们将深入探讨如何在Windows操作系统上安装和使用最新版...

    Docker-compose-2.4.1安装包

    Free。Docker-compose-2.4.1安装包:Linux。

    protobuf 2.4.1 & 2.5.0

    4. **兼容性**:尽管protobuf通常努力保持向后兼容,但有时可能会有不兼容的变化,需要开发者注意升级时的代码调整。 5. **新特性**:例如,2.5.0可能引入了在2.4.1中不存在的新特性,如更强的数据类型支持、更好的...

Global site tag (gtag.js) - Google Analytics