Политика ядра .net core 2.2 для каждой конечной точки - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь настроить политику cors для моего API в проекте .net core 2.2.

 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");
            });
        });

Затем в Configure я делаю следующее:

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

И ядобавлено

[EnableCors("policy1")]

И

[EnableCors("policy2")]

К двум различным конечным точкам.

Но при вызове второй конечной точки с использованием ajax я всегда получаю

Доступ к выборке в 'https://localhost:44377/campaigns/default_campaign' из источника' http://localhost:3000' заблокирован политикой CORS: Метод PUT не разрешен Access-Control-Allow-Methods в ответе перед полетом.

Событие Если для него установлен атрибут [EnableCors ("policy2")].

Две конечные точки совершенно разные.

Есть идеи, плз?

...