В ASP.NET на локальном хосте ответ на предполетный запрос не проходит проверку контроля доступа: нет заголовка «Access-CC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 В ASP.NET на локальном хосте ответ на предполетный запрос не проходит проверку контроля доступа: нет заголовка «Access-C

Сообщение Anonymous »

Я использую Web Core API и настроил CORS следующим образом:

public void ConfigureServices(IServiceCollection services)
{
services.AddCors();
...
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
var url = Configuration["origenUrl"];
var header = "Content-Type";
app.UseCors(
options => options.WithOrigins(url).WithHeaders(header).AllowAnyMethod().AllowCredentials()
);
}


Эта настройка отлично работает для запросов Get.
Но для моего запроса Put;

$.ajax({
url: url,
method: "PUT",
xhrFields: { withCredentials: true }
})
.done(callback)
//.fail(errorMessage);
.fail(function (jqXHR, textStatus, errorThrown) {
alert("Something went wrong: " + textStatus + " " + errorThrown);
errorCallback();
});


Я получаю это сообщение об ошибке;


XMLHttpRequest не может загрузить http:// localhost:17972/api/fault/1/close.

Ответ на предполетный запрос не проходит проверку контроля доступа: Нет
'Access-Control-Allow -Заголовок Origin присутствует на запрошенном
ресурсе. Таким образом, исходному адресу «http://localhost:12528» не разрешен
доступ. В ответе был код состояния HTTP 401.


Мой http-запрос от Fiddler;


ОПЦИИ http://localhost:17972/api/fault/10/close HTTP/1.1

Принять: /

Происхождение: http://localhost:12528

Метод-контроля доступа-запроса: PUT

Заголовки запросов контроля доступа: принять

UA-CPU: AMD64

Принять кодирование: gzip, выкачать

Агент пользователя: Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0), например Геккон

Хост: localhost:17972

Длина контента: 0

DNT: 1

Соединение: сохранение активности

Прагма: без кэша


Так как мне это исправить?

РЕДАКТИРОВАТЬ
Я также попробовал этот код, чтобы заставить его работать, но получил ту же ошибку;

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
//var url = Configuration["originUrl"];
//app.UseCors(
// options => options.WithOrigins(url).AllowAnyHeader().AllowAnyMethod().AllowCredentials()
//);
app.UseCors(
options => options.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials()
);
app.UseMvc();
}


Подробнее здесь: https://stackoverflow.com/questions/460 ... cess-contr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»