У меня были подобные проблемы раньше, я вижу, что вы используете Kerberos, как только вы его получите, все будет в порядке!
Что-то, что сработало для меня в сценарии, похожем на ваш, - это открыть IIS. , go на ваш сайт, щелкните значок Редактор конфигурации. В верхних двух заголовках сначала нажмите раскрывающийся список «от» и выберите «ApplicationHost.config», а в заголовке «раздел» слева от «От» щелкните раскрывающийся список и разверните папки:
system.WebServer-> security-> authentication-> windowsAuthentication,
Из опций здесь вы можете выбрать «useAppPoolCredentials» и установить для него значение TRUE, в вашем случае.
![enter image description here](https://i.stack.imgur.com/89blk.jpg)
Когда для «useAppPoolCredentials» установлено значение true, вы сообщаете IIS, что ему необходимо использовать идентификатор пула приложений, который вы определяете как учетную запись службы домена для дешифрования билета авторизации, который В профиле пользователя обычно нет условий для этого.
Еще одна вещь, которую нужно попробовать, если это не сработает, это переключить настройку «Загрузить профиль пользователя» в дополнительных настройках приложения. я не уверен, что True или False исправят вашу проблему, но это помогло решить подобные проблемы раньше. Сначала я попробую описать выше, и я Если это не работает, попробуйте следующее:
![loaduserprofile](https://i.stack.imgur.com/w0Zuf.jpg)
Я не видел ничего упомянутого о SPN, вы их используете? Они могут потребоваться при запуске учетной записи домена в качестве идентификатора пула приложений. Приведенная ниже статья описывает этот шаг, а также многие другие для того, чтобы заставить это работать:
https://techcommunity.microsoft.com/t5/iis-support-blog/setting-up-kerberos-authentication-for-a-website-in-iis/ba-p/324644
Кроме того, вот несколько статей, которые очень помогли мне, чтобы все это работало на моей работе.
https://docs.microsoft.com/en-us/archive/blogs/chiranth/setting-up-kerberos-authentication-for-a-website-in-iis
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-2000-server/cc961723 (v = te chnet .10 )? redirectedfrom = MSDN
Надеюсь, это поможет.
ОБНОВЛЕНИЕ: Для тех, кто все еще ищет помощи в этой проблеме, мы нашли обходной путь для нашей системы, который не требовал олицетворения / делегирования:
Вместо этого мы создали другую конечную точку API - «среднюю точку», которая получает запрос от начальной конечной точки без олицетворения. В этом сценарии мы смогли создать промежуточную учетную запись Sys для запуска в качестве идентификатора пула приложений средней точки, который затем является идентификатором, используемым для запроса базы данных, и это единственный доступ, который имеет учетная запись sys, и этого было достаточно для обеспечения безопасности. команда, чтобы быть в порядке с этим. Мы поняли, что регистрация абонента, выполняющего вызов, не потребуется, если мы используем специальную привилегированную системную учетную запись, основанную на наших протоколах.