最近手贱,把一个项目的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; }
相关推荐
项目介绍 项目主要使用的是Spring+SpirngMvc+SpringBoot敏捷开发系统架构,使用百度智能云提供人脸识别接口 技术选型 SpringBoot 2.4.1 Spring SpringMvc Mysql 5.7 BaiduAip 4.15.1 Fastjson 1.2.70
本示例将探讨SignalR如何处理跨域通信,这是一个常见的Web开发需求,因为通常情况下,浏览器出于安全考虑会限制不同源之间的通信。 跨域(CORS)是Web应用程序中的一项机制,允许浏览器执行原本受限的HTTP请求。...
- **Zookeeper Quorum**:用于协调NameNode之间的选举过程,以及监控NameNode的状态变化。 - **ZKFC (Zookeeper Failover Controller)**:运行在每个NameNode上,用于监控NameNode的状态并与Zookeeper进行交互,以...
本文将详细探讨APKTool的最新版2.4.1,以及它在反编译过程中的关键作用。 APKTool是由IzzySoft开发的一款开源工具,其主要功能是对APK进行反编译,将Dalvik字节码(DEX)转换为人类可读的Smali语言,同时解压缩并...
apktool2.4.1版本jar,在官网拖下来太慢了,因此找了个给大家下载,这个是当前最新版本2.4.1,解包出现问题就更新一下apktool,一般问题得以解决。
《Hadoop 2.4.1版本:大数据处理的核心与实践》 Hadoop,作为大数据处理领域的核心组件,自诞生以来就备受关注。Hadoop 2.4.1是其发展过程中的一个重要版本,它在稳定性、性能和可扩展性上都有显著提升,为大数据的...
nacos-server-2.4.1.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:构建解析器的利器》 “bison-2.4.1.tar.gz”这个压缩包文件是开源软件项目bison的一个特定版本,版本号为2.4.1。bison是一个强大的语法分析器生成器,它基于Yacc(Yet Another Compiler-...
3. 安装过程:安装python-2.4.1.msi时,用户通常会经历一系列步骤,如选择安装路径、是否设置环境变量、是否创建桌面快捷方式等。安装完成后,系统会自动配置Python路径,使得用户可以在命令行中通过`python`命令...
《 Bison 2.4.1 for Windows:解析器生成器详解及应用》 Bison,全称为GNU Bison,是一款强大的解析器生成器,主要用于构建计算机语言的语法分析器。在Windows环境中,Bison 2.4.1版本的发布为开发者提供了一款稳定...
标题 "protobuf-2.4.1.zip" 指向的是 Protocol Buffers(简称protobuf)的一个版本2.4.1的归档文件。Protocol Buffers是Google开发的一种数据序列化协议,它允许开发者定义数据结构,然后生成能够在各种数据平台之间...
赠送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文档...
protobuf-java-2.4.1.jar
Free。Docker-compose-2.4.1安装包:Linux。
4. **兼容性**:尽管protobuf通常努力保持向后兼容,但有时可能会有不兼容的变化,需要开发者注意升级时的代码调整。 5. **新特性**:例如,2.5.0可能引入了在2.4.1中不存在的新特性,如更强的数据类型支持、更好的...
为您提供SpringBoot应用开发框架下载,Spring Boot项目旨在简化创建产品级的Spring应用和服务。你可通过它来选择不同的Spring平台。可创建独立的Java应用和Web应用,同时提供了命令行工具来允许'spring scripts'。该...
《64位Hadoop2.4.1:构建高效分布式数据处理集群》 在大数据处理领域,Hadoop作为开源框架的代表,以其强大的分布式计算能力备受瞩目。64位Hadoop2.4.1是专为64位操作系统设计的版本,能够充分利用64位系统的资源,...