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);
    }
}
相关推荐
程序员mine5 分钟前
Web服务密码存储安全详解:从哈希到密钥派生的演进
前端·后端
小白起 v5 分钟前
从零搭建一个现代化的验证码登录系统:Spring Boot + 阿里云短信实战教程
java·阿里云
weixin_307779137 分钟前
从工具到协作者:AI在后端研发中的流程重构与组织赋能
人工智能·后端·python·算法·自动化
fliter10 分钟前
Rust 如何用 Josh 管理跨仓库代码共享
后端
未若君雅裁14 分钟前
工厂模式详解:简单工厂、工厂方法与抽象工厂
java·开发语言
夏天的味道٥17 分钟前
Spring-AI 多模型接入实战:本地 deepseek + 阿里云百炼 + 硅基流动
人工智能·spring·阿里云
不会写DN18 分钟前
通过php 中的Route:: 的写法了解什么是静态类调用
android·java·php
小刘|18 分钟前
SpringAIAlibaba快速接入阿里云百炼
java·spring boot·spring·maven
我命由我1234522 分钟前
由 ImageView 获取到的 Drawable 对象,它的 intrinsicWidth、intrinsicWidth 与实际图片的尺寸
java·开发语言·java-ee·android studio·android jetpack·android-studio·android runtime
Han.miracle24 分钟前
Jackson 工具类详解:ObjectMapper 配置、泛型擦除、TypeReference 与 JavaType
java·spring boot·spring