Проверка подлинности Windows не включается в IIS 7.5 - PullRequest
1 голос
/ 14 марта 2012

Я только начинаю изучать ASP.NET.Я открыл приложение ASP.NET по умолчанию и изменил файл web.config для включения аутентификации Windows.

<authentication mode="Windows">
</authentication>

Когда я запускаю из VS с помощью сервера разработки asp.net, он может обнаружить мой вход в Windowsи отобразить это.Я попытался опубликовать его на сервере IIS 7.5 в том же ПК и побежал оттуда.Теперь мой вход в Windows не обнаруживается.Я включил проверку подлинности Windows из функции проверки подлинности в IIS.Что еще мне может не хватать в этом случае?

Спасибо ..

1 Ответ

4 голосов
/ 14 марта 2012

Попробуйте отключить анонимную аутентификацию в IIS 7.5 для этого веб-сайта.

  • Открыть консоль IIS.
  • Выберите сайт.
  • Дважды щелкните «Аутентификация»
  • Убедитесь, что «Анонимная аутентификация» отключена

Только «Аутентификация Windows» должна быть включена для ваших целей.

Причина, по которой это работает, заключается в том, что браузер выполнит первый запрос анонимно. Если анонимная аутентификация включена, этот запрос будет выполнен успешно, и веб-сервер не будет знать, кто вы.

Если вы используете такой инструмент, как Fiddler, для проверки сетевого трафика между вами и сервером, вы заметите, что фактически получаете 3 запроса, если аутентификация Windows является единственным настроенным методом. На запросы поступают следующие ответы:

  • Запрос 1: «Пожалуйста, я могу войти в систему анонимно?»
  • Ответ 1: "НЕТ !!!" [Код состояния HTTP 401]
  • Запрос 2: «Хорошо, что делаете вы поддерживаете?»
  • Ответ 2: «Я поддерживаю проверку подлинности Windows» [код состояния HTTP 401]
  • Запрос 3: «Хорошо, вот мой токен Windows»
  • Ответ 3: «Привет, РБ, вот твоя веб-страница» [HTTP Status Code 200]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...