Ошибка аутентификации Windows 401, имя участника-службы для учетной записи службы
Я борюсь вокруг и надеюсь, что вы можете мне помочь.
Сценарий: я написал веб-приложение на тестовом сервере, и все работает нормально. Я переместил готовое приложение в работающую систему и получаю ошибку HTTP 401, если в IIS включена проверка подлинности Windows. Я решил эту проблему, установив имя участника-службы на имя сервера, например,
setspn -a http/contoso contoso
Но это должно работать с моей учетной записью службы. Я установил spn для служебной учетной записи, например:
setspn -a http/contoso.com mydomain\serviceaccount
setspn -a http/contoso mydomain\serviceaccount
Пул приложений работает как mydomain\serviceaccount. Делегирование Kerberos установлено для этой учетной записи в Active Directory. Но все равно получаю ошибку 401. В целях тестирования учетная запись службы имеет роль администратора на этом сервере.
1 ответ
Это похоже на дублирующую проблему SPN. Я полагаю, что вы сделали все правильно, добавив SPN для служебной учетной записи, но в IIS есть еще один шаг, который необходимо предпринять, чтобы убедиться, что учетные данные пула приложений действительно используются.
Нажмите на веб-сайт и в центральной панели, нажмите на редактор конфигурации. Перейдите к "system.webServer/security/authentication/windowsAuthentication" и установите для "useAppPoolCredentials" значение true, а для "UsekernelMode" значение false.
Следуйте этой статье для получения дополнительной информации - https://blogs.msdn.microsoft.com/chiranth/2014/04/17/setting-up-kerberos-authentication-for-a-website-in-iis/