IIS 8.5 запрашивает учетные данные с помощью проверки подлинности Windows

#iis #windows-authentication

#iis #windows-проверка подлинности

Вопрос:

Я получаю запрос на получение учетных данных на веб-сайте в IIS 8.5, работающем в Windows 2012, который я не могу объяснить.

Пул приложений работает под пользовательским идентификатором, который является членом администраторов и IIS_IUSRS на сервере.

На веб-сайте у меня есть следующие настройки:

 Anonymous Authentication = Disabled
ASP.NET Impersonation = Enabled
Windows Authentication = Enabled
useAppPoolCredentials = True
 

Мой web.config имеет:

 <authentication mode="Windows" />
<identity impersonate="true" />
<authorization>
  <allow users="*" />
</authorization>
 

Я исключил безопасность папок, временно предоставив полный контроль всем.

По-настоящему странно то, что у меня такой же пул приложений, веб-сайт и настройка папок на другом узле в моем кластере NLB, и он не запрашивает учетные данные.

Я также сравнил файлы applicationHost.config между двумя серверами и не обнаружил каких-либо существенных различий.

Где еще может быть разница между двумя серверами?

Обновление из вопросов в комментариях:

Код состояния HTTP: 401.2.5. FailedReqLog:

 <failedRequest url="http://url-myapp.com:80/"
               siteId="4"
               appPoolId="myapp"
               processId="14368"
               verb="GET"
               authenticationType="NOT_AVAILABLE"               
               activityId="{8000002B-000E-FF00-B63F-84710C7967BB}"
               failureReason="STATUS_CODE"
               statusCode="401.2"
               triggerStatusCode="401.2"
               timeTaken="0"
               xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb"
               >
 
  • AppPool находится в интегрированном режиме
  • Это позволяет после ввода учетных данных

Комментарии:

1. Ваш пользовательский идентификатор не должен быть членом IIS_IUSRS (он получает это по умолчанию), у него также не должно быть прав администратора, если только это не абсолютно необходимо. Что касается того, что нужно проверить, является ли сайт частью зоны интрасети и SPN для имени хоста. Вы не упоминаете: позволяет ли он вам входить на сервер после запроса? Какую ОС / браузер вы используете для подключения.

2. Прежде чем углубляться слишком глубоко, изучите статус / вспомогательный статус, который вызывает запрос, из файлов журнала IIS, support.microsoft.com/en-ca/help/943891/… Только тогда есть что обсудить.

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