每个终端设置的.net Core 2.2 Cors策略

时间:2019-01-21 12:27:36

标签: .net asp.net-core cors asp.net-core-2.2

我正在尝试在.net core 2.2项目中为我的api设置cors策略。

 services.AddCors(options =>
        {
            options.AddPolicy("policy1", builder =>
            {
                builder
                    .WithOrigins(backendConfig.BACKOFFICE_ORIGIN)
                    .WithMethods("GET", "POST")
                    .WithHeaders("Content-Type");
            });

            options.AddPolicy("policy2", builder =>
            {
                builder
                    .WithOrigins(backendConfig.BACKOFFICE_ORIGIN)
                    .WithMethods("PUT")
                    .WithHeaders("Content-Type");
            });
        });

然后在“配置”中执行以下操作:

app.UseCors("policy1");
app.UseCors("policy2");

我添加了

[EnableCors("policy1")]

[EnableCors("policy2")]

到两个不同的端点。

但是当使用ajax调用第二个端点时,我总是收到

访问CORS策略已阻止从原点“ https://localhost:44377/campaigns/default_campaign”获取“ http://localhost:3000”的访问:在飞行前响应中,Access-Control-Allow-Methods不允许方法PUT。

事件,如果属性  在其上设置了[EnableCors(“ policy2”)]。

两个端点完全不同。

有什么想法吗?

0 个答案:

没有答案