Контрольный список для проверки подлинности Windows в IIS 6 / ASP.NET?

У меня возникли проблемы с тем, чтобы мое приложение ASP.NET автоматически регистрировало пользователей на сайте интрасети, который я создаю. Независимо от того, что я использовал в Google или какие эксперименты я проводил, IE7 всегда отображает поле входа в систему.

У меня установлен режим проверки подлинности Windows в Web.config, отключен анонимный доступ и настроен правильный домен по умолчанию в IIS, но он по-прежнему просит пользователя войти в систему, и, что еще более раздражает, пользователь также должен предоставить домен ( DOMAIN \ auser ), что вызывает проблемы у посетителей, не являющихся техническими специалистами. Благодарим Zeus за возможность запоминания пароля.

Я не администратор сети, поэтому возможно, что что-то в Active Directory настроено неправильно, или мне просто не хватает чего-то очень простого. Обратите внимание, что я не хочу выдавать себя за пользователя, мне просто нужно знать, что свойство IPrincipal.Name совпадает со свойством действительной записи в моей базе данных пользователей, следовательно, аутентифицируя пользователя в моем приложении.

С этой целью было бы очень полезно иметь контрольный список всех требований к конфигурации для AD, ASP.NET и IIS для совместной работы таким образом в качестве справочного материала для отладки и, надеюсь, уменьшения некоторых затруднений со стороны пользователей.

Ответов (3)

Решение

Похоже, вы рассмотрели все серверные основы - может быть, это проблема клиента? Я полагаю, ваши пользователи включили встроенную аутентификацию в IE7? (Инструменты -> Свойства обозревателя -> Дополнительно -> Безопасность). По умолчанию это включено.

Кроме того, правильно ли ваш сайт распознается IE7 как находящийся в зоне местной интрасети? По умолчанию IE7 разрешает автоматический вход в систему только в этой зоне, поэтому пользователи будут получать запрос, если IE считает, что ваш сайт находится в Интернете. Я считаю, что использование имени хоста с точкой заставляет IE помещать сайт в зону Интернета.

В IIS включите анонимный доступ и разрешите файлу web.config обрабатывать аутентификацию пользователя.

  1. Откройте Active Directory Users and Computersоснастку MMC

  2. Развернуть computersраздел из TreeView(слева)

  3. Проверьте, зарегистрирован ли компьютер в вашем домене.

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