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);
    }
}
相关推荐
Oneslide19 小时前
windows 11远程桌面连Ubuntu GNOME 远程登录频繁断开
后端
朕瞧着你甚好19 小时前
技术雷达 & Java 集成评估报告 — Apache Tika 3.3.1
java·ai编程
咕白m62520 小时前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
云技纵横20 小时前
@Transactional 里套 REQUIRES_NEW,为什么会把连接池耗尽?
后端·面试
tcdos20 小时前
不止扫码 — 微信生态深度融合(登录 + 支付 + 消息)
后端·微信小程序
程序员cxuan20 小时前
Anthropic 大面积封号,连大 V 都忍不了开喷了。
人工智能·后端·程序员
MacroZheng20 小时前
短短几天,暴涨2.8万Star!又一款编程神器开源!
java·人工智能·后端
PinkSun20 小时前
平台线程池用了3年很顺手,换成虚拟线程后我后悔了
后端
达达尼昂20 小时前
Claude : 如何设计可控的agent-loops
前端·人工智能·后端
lambdax20 小时前
Celery 心跳任务内存膨胀排查与修复全记录
后端