首页 > 解决方案 > .NET Core 2.0 中的 Cors 配置

问题描述

使用有什么区别吗

app.UseCors(builder => builder.WithOrigins("*"));

app.UseCors(builder => builder.AllowAnyOrigin());

我假设“*”是任何来源的通配符,并且它们应该是等价的。如果我错了,请纠正我。

标签: asp.net-corecors.net-core

解决方案


您的两种方法都添加*为原点,而且builder.AllowAnyOrigin()还清除了所有其他已注册的原点builder,因此最好使用它。

源代码

public CorsPolicyBuilder WithOrigins(params string[] origins)
{
     foreach (var req in origins)
     {
        _policy.Origins.Add(req);
     }

     return this;
}

public CorsPolicyBuilder AllowAnyOrigin()
{
     _policy.Origins.Clear();
     _policy.Origins.Add(CorsConstants.AnyOrigin);
     // `CorsConstants.AnyOrigin` conts has `*` as value
     return this;
}

推荐阅读