Я работаю над одностраничным веб-приложением. Он имеет ASP. NET Core 3 back end и Angular 9 front end. Я запускаю серверную часть в Visual Studio на IIS Express, на http://localhost: 59280 . Внешний интерфейс запускается в коде Visual Studio с использованием ng serve
, при http://localhost: 4200 . Ранее мне не нужно было включать CORS в бэкэнде, потому что я тестировал приложение только в Chrome, и добавления аргумента командной строки --disable-web-security
было достаточно для отключения той же политики происхождения. На работающем сервере нет необходимости в CORS, описанная выше ситуация перекрестного источника возникает только на моем компьютере разработчика.
Теперь я хотел бы отладить интерфейс в Firefox, но так как невозможно Отключите ту же политику происхождения для Firefox, мне нужно включить CORS на заднем конце. К сожалению, это не работает, потому что я использую Windows Аутентификацию, и он останавливает неавторизованный предварительный запрос CORS по умолчанию . Это можно было бы решить, если бы я мог позволить запросам HTTP OPTIONS обрабатываться без Windows Аутентификация . Я думал, что это можно сделать, добавив что-то вроде этого в web.config :
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
</authentication>
<authorization>
<add accessType="Allow" verbs="OPTIONS" users="*" />
</authorization>
</security>
</system.webServer>
... но я получил сообщение об ошибке: «Этот раздел конфигурации не может использоваться в этом путь. Это происходит, когда раздел заблокирован на родительском уровне. " Очевидно, что web.config находится в конфликте с launchSettings. json, который, кажется, управляет аутентификацией, когда серверная часть запускается на IIS Express в Visual Studio, используя эти две строки:
{
"iisSettings": {
"windowsAuthentication": true,
"anonymousAuthentication": false,
...
Не знаю, как можно отключить Windows Аутентификацию отдельно для запросов HTTP OPTIONS, используя только launchSettings. json.
Есть ли способ отключить Windows Аутентификация отдельно для запросов HTTP OPTIONS, в ASP. NET приложении Core 3?