spring 2.7.14 cors 设置 allowedOrigins(“*“)通配符 失效怎么解决

失效代码:

java 复制代码
package com.yukuanyan.searcher_web.config;

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

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET", "POST", "PUT", "DELETE")
                .allowedHeaders("*")
                .allowCredentials(true)
                .maxAge(3600);
    }
}

失效原因:

复制代码
allowCredentials(true)被设置成了ture,说明浏览器应该在请求时携带凭证(credential),如果使用*作为通配符会导致安全问题,所以会导致通配符
复制代码
allowedOrigins("*")
复制代码
失效

解决方法:

将allowCredentials()设置为false

java 复制代码
package com.yukuanyan.searcher_web.config;

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

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET", "POST", "PUT", "DELETE")
                .allowedHeaders("*")
                // allowOrigins 使用通配符时需要设置为false
                .allowCredentials(false)
                .maxAge(3600);
    }
}
相关推荐
输出输入5 分钟前
IJ IDEA 目录结构
java
Kratzdisteln9 分钟前
【1902】预先生成完整的树状PPT结构
java·前端·powerpoint
Sylvia-girl14 分钟前
Lambda表达式
java·开发语言
Pluchon18 分钟前
硅基计划4.0 算法 动态规划入门
java·数据结构·算法·动态规划
Java程序员威哥25 分钟前
Java应用容器化最佳实践:Docker镜像构建+K8s滚动更新(生产级完整模板+避坑指南)
java·开发语言·后端·python·docker·kubernetes·c#
shjita26 分钟前
mr-----topn的用法
java
小范馆32 分钟前
C++ 编译方法对比:分步编译 vs 一步到位
java·开发语言·c++
Mr_sun.33 分钟前
Day05——权限认证-SpringSecurity认证授权
spring
ascarl201035 分钟前
记录一下Nacos和XXLJOB修复漏洞
java
福娃筱欢35 分钟前
通用机KESV8R2-3节点集群缩容为2节点
java·开发语言