【问题标题】:cors access-control-allow-origin * credentials truecors 访问控制允许来源 * 凭据 true
【发布时间】:2018-02-07 01:29:35
【问题描述】:

我在Spring Boot中设置了全局CORS,写了如下代码,发现如果access-control-allow-origin为*,则credentials不能为true。为什么凭据不能是真实的,如果不是,为什么 CORS 可以工作?

@Override
    public void addCorsMappings(CorsRegistry registry){
        registry.addMapping("/api/bbs/**")
                .allowedOrigins("*")
                .allowedMethods("*")
                .allowCredentials(true);
    }

【问题讨论】:

    标签: cors wildcard credentials


    【解决方案1】:

    因为这就是 CORS 的设计方式。

    不过……

    您可以轻松地“镜像”Access-Control-Allow-Origin 响应标头中的原始请求标头的值。

    所以你有效地发回了这个响应头:

    Access-Control-Allow-Origin: <value-of-Origin-request-header>

    这与指定 Access-Control-Allow-Origin: * 一样“全局”

    【讨论】:

    • 感谢您的回答。我想再问你一个问题,镜子后面这个词是什么意思?我对英语还不熟悉,很难理解确切的意思。
    • 我的意思是在 Origin 请求标头中传递的任何值都应该在 Access-Control-Allow-Origin 响应标头中完全返回。因此,如果请求包含此标头Origin: https://www.yoursite.com:9001,那么您应该使用此响应标头Access-Control-Allow-Origin: https://www.yoursite.com:9001 进行响应。就像一面镜子反射一个价值...... :)
    猜你喜欢
    • 2019-02-09
    • 2016-06-02
    • 2012-11-07
    • 2021-09-07
    • 2016-06-27
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    相关资源
    最近更新 更多