项目场景:
提示:这里简述项目相关背景:
保留现场:
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.
翻译
当allowCredentials为true时,allowedOrigins不能包含特殊值"* “,因为它不能在” Access-Control-Allow-Origin "响应头中设置。要允许一组起源的凭证,明确地列出它们,或者考虑使用“allowedOriginPatterns”代替。
原因分析:
提示:这里填写问题的分析:
解决方法:
跨域配置报错,将.allowedOrigins
替换成.allowedOriginPatterns
即可
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
/**
* 开启跨域
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
// 设置允许跨域的路由
registry.addMapping("/**")
// 设置允许跨域请求的域名
.allowedOrigins("*")
// 是否允许证书(cookies)
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("*")
// 跨域允许时间
.maxAge(3600);
}
}
修改后
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
/**
* 开启跨域
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
// 设置允许跨域的路由
registry.addMapping("/**")
// 设置允许跨域请求的域名
.allowedOriginPatterns("*")
// 是否允许证书(cookies)
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("*")
// 跨域允许时间
.maxAge(3600);
}
}
参考文章:
提示:这里填写解决该问题参考的文章: