Приложение ASP.NET Core, работающее в IIS, выдает Http-ошибку 401.2-Unauthorize

У меня есть приложение ASP.NET Core MVC, в котором я реализовал аутентификацию Azure AD. Я использую .NET Core 3.1. Я почти уверен, что часть Azure AD реализована правильно, поскольку она хорошо работает в Visual Studio.

Когда я пытаюсь запустить свое приложение в IIS, я получаю эту ошибку, как показано ниже. Однако если я включу анонимную аутентификацию в IIS, приложение будет работать должным образом, и я не получу ошибку 401.2.

Приложение ASP.NET Core, работающее в IIS, выдает Http-ошибку 401.2-Unauthorize

Я хочу, чтобы мое приложение запускалось в IIS без этой ошибки даже после отключения анонимной аутентификации в IIS. Как мне это сделать? Я также не могу включить аутентификацию Windows, поскольку она проходит мимо моей аутентификации Azure AD.

IIS обслуживает свои собственные страницы ошибок вместо того, чтобы передавать фактические страницы ошибок ASP.NET Core в ваш браузер: вам нужно установить <httpErrors suchResponse = "PassThrough"> в вашем web.config или applicationHost.config.

Dai 22.06.2024 21:54

Какое журналирование имеет ваше приложение? (т. е. Microsoft.Extensions.Logging...)? Вы должны найти полезную информацию в своих файлах журналов... при условии, что вы действительно сохраняете их на диск.

Dai 22.06.2024 21:55

Спасибо за предложение, однако единственным решением для меня было включить анонимность.

Aashita 24.06.2024 10:39
Запуск PHP на IIS без использования программы установки веб-платформы
Запуск PHP на IIS без использования программы установки веб-платформы
Установщик веб-платформы, предлагаемый компанией Microsoft, перестанет работать 31 декабря 2022 года. Его закрытие привело к тому, что мы не можем...
Поддержка IIS для PHP
Поддержка IIS для PHP
Эта версия PHP требует наличия C++ Redistributable для VS 2019 (как минимум)
1
3
71
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете отключить анонимную проверку подлинности в IIS, поскольку это обязательная часть проверки подлинности на основе Microsoft Entra ID в вашем веб-приложении ASP.NET Core.

Вам придется откатить изменения и игнорировать эту ошибку, поскольку вы сделали неправильный шаг.

О том, зачем нужна анонимная аутентификация на IIS, это отдельный вопрос.

Обратите внимание, что имя «Azure Active Directory» больше не используется, а срок службы .NET Core 3.1 истек много лет назад.

Другие вопросы по теме