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

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


Вы не можете отключить анонимную проверку подлинности в IIS, поскольку это обязательная часть проверки подлинности на основе Microsoft Entra ID в вашем веб-приложении ASP.NET Core.
Вам придется откатить изменения и игнорировать эту ошибку, поскольку вы сделали неправильный шаг.
О том, зачем нужна анонимная аутентификация на IIS, это отдельный вопрос.
Обратите внимание, что имя «Azure Active Directory» больше не используется, а срок службы .NET Core 3.1 истек много лет назад.
IIS обслуживает свои собственные страницы ошибок вместо того, чтобы передавать фактические страницы ошибок ASP.NET Core в ваш браузер: вам нужно установить <httpErrors suchResponse = "PassThrough"> в вашем web.config или applicationHost.config.