Окно входа в Windows Security в IE8, IE9, FireFox, но не в Chrome?

1886
oscilatingcretin

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

  • ASP.NET 4.0
  • IIS6
  • Windows Server 2003
  • Интранет-сайт с использованием аутентификации Windows
  • Три сервера с одинаковой версией ОС и IIS, на каждом из которых размещена версия для одного разработчика, рабочая версия и версия для аварийного восстановления (DR).

Теперь рассмотрим этот порядок событий:

  • Пользователь начинает с IE8 и любых версий FF и Chrome
  • Пользователь может получить доступ только к сайту DR. При входе в систему отказывается аутентифицировать их с помощью своих учетных данных Windows для других сайтов, поэтому они не могут войти
  • Они устанавливают свежую копию Windows 7 и обновляются до IE9. Теперь они могут получить доступ к сайтам разработчиков и DR в IE9. Они могут получить доступ ко всем трем сайтам в Chrome.

Я проверил следующее в настройках интернета:

  • Автоматический вход с текущим именем пользователя и паролем
  • Включить встроенную проверку подлинности Windows

Я наткнулся на это в MSKB: http://support.microsoft.com/kb/215383

Свойство метабазы ​​NTAuthenticationProviders не определено, поэтому IIS следует использовать Negotiate,NTLMпо умолчанию.

Другие детали:

  • Это начало происходить всего несколько недель назад. Пользователь смог получить доступ к нашему сайту нормально с IE8.
  • Другие пользователи не имеют этой проблемы.

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

Дополнительные детали

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

Тип события: Аудит успеха Источник события: Безопасность Категория события: Вход / Выход  Код события: 538 Дата: 14.07.2014 Время: 13:27:37 Пользователь:? \? Компьютер:? Описание: Выход пользователя из системы: Имя пользователя:? Домен: ? Идентификатор входа: (0x0,0x3F99497F) Тип входа: 3  Тип события: Аудит успеха Источник события: Безопасность Категория события: Вход / Выход  Код события: 540 Дата: 14.07.2014 Время: 13:27:14 Пользователь:? \? Компьютер:? Описание: Успешный вход в сеть: Имя пользователя:? Домен: ? Идентификатор входа: (0x0,0x3F997233) Тип входа: 3 Процесс входа в систему: NtLmSsp  Пакет аутентификации: NTLM Название рабочей станции:? Логин GUID: - Имя пользователя звонящего: - Домен вызывающего абонента: - Идентификатор входящего звонка: - Идентификатор вызывающего процесса: - Транзитные услуги: - Адрес исходной сети:? Порт источника: 16220

enter image description here

3
Вы можете немного прояснить свой вопрос? Вы говорите, что Chrome работает для всех трех сайтов, но другие браузеры не работают специально при доступе к производственному сайту? Пользователь входит в систему на компьютере как пользователь домена и определенно запускает браузер как этот пользователь? James P 10 лет назад 0
Кроме того, каковы сообщения об ошибках? Есть ли у вас что-либо в Event Viewer сервера и клиента в то время? harrymc 10 лет назад 1
@harrymc Я обновил свой вопрос с деталями. oscilatingcretin 10 лет назад 0
«Запрос на вход в систему отказывает аутентифицировать их с использованием их учетных данных Windows» - укажите точное сообщение об ошибке. harrymc 10 лет назад 0
Попробуйте также очистить кэш CRL, запустив `certutil -setreg chain \ ChainCacheResyncFiletime @ now` в командной строке администратора. Кроме того, у вас есть домен и 3 сайта работают с http или https? harrymc 10 лет назад 0
@harrymc Получение ответа на сообщение об ошибке (я не думаю, что оно есть). Сайт работает с http, а не с https. Что касается очистки кэша CRL, кажется, что для этого может потребоваться перезагрузка компьютера с Windows Server 2003. Поскольку на этом сервере имеется большое количество критически важных приложений, я хотел бы рассмотреть это в качестве последнего средства. Тем не менее, это объясняет, как пользователь может проходить аутентификацию с помощью Chrome? Почему проблемы возникают только с IE8 / 9 и Firefox? oscilatingcretin 10 лет назад 0
Кеш должен быть очищен на клиенте. Не знаю, если это решение, просто попробовать идеи, но они не работают, также может быть информативным. harrymc 10 лет назад 0
@oscilatingcretin: Вы проверили правильность времени / даты на ПК, который использует соответствующий пользователь? В идеале это должно быть синхронизировано с доменом, поскольку проверка подлинности Windows может часто нарушаться. James P 10 лет назад 0
@oscilatingcretin: Вы также пытались вручную добавить сайты в зону интрасети в IE на тот случай, если они не будут распознаны как таковые? James P 10 лет назад 0

1 ответ на вопрос

1
harrymc

Enabling automatic NTLM identification is done as follows.

Internet Explorer

  • From IE, Access Internet Settings via "IE -> Tools -> Internet Options", or via Control Panel -> Internet Options
  • Go to the Security tab
  • Click Sites
  • Click either Local Intranet or Trusted sites
  • Add your sites to the list
  • If required, uncheck "Require server verification (https:) for all sites in this zone"
  • Click Close
  • Click Custom level
  • Scroll right to the bottom under User Authentication / Logon and ensure that "Automatic logon with current user name and password" is checked.
  • Click OK

Google Chrome

Google Chrome actually uses the same settings that IE uses, that is the above Control Panel -> Internet Options settings, so nothing more to do.

Firefox

  • Open Firefox and type "about:config" in the address bar (without the quotes)
  • In the 'Filter' field type network.automatic-ntlm-auth.trusted-uris
  • Double-click the above and enter the URLs of sites or entire domains, separated by commas
  • if your sites do no use FQDN (for example http://intranetinstead of http://intranet.domain.com), do also:
    • Set network.automatic-ntlm-auth.allow-non-fqdn to true
    • Set network.negotiate-auth.allow-non-fqdn to true
Я уже гарантировал, что пользователь делает все выше в IE. Кроме того, «Пакет аутентификации: NTLM» в тексте журнала сервера, который я разместил выше, указывает на то, что он использует NTLM? oscilatingcretin 10 лет назад 0
Сервер указывает на успешную регистрацию NTLM, но я понял, что проблема заключается в диалоговом окне входа на стороне клиента, поэтому идея состоит в том, чтобы настроить его для использования учетных данных текущего пользователя. Если эти учетные данные неизвестны на сервере, появится диалоговое окно. Поскольку Chrome работает, эти учетные данные действительно кажутся правильными. Интересно, с моими вышеуказанными исправлениями Firefox также начнет работать. Для IE у меня в комментариях была идея очистить кеш учетных данных на клиенте, но может потребоваться дополнительная работа. Что именно происходит, когда доступ неудачен? harrymc 10 лет назад 0
Я посоветовал пользователю очистить кеш CRL. Не было никакого ответа. Когда доступ неудачен, подсказка просто продолжает появляться без сообщения об ошибке вообще. Он даже не получает сообщение, в котором говорится что-то вроде «неудачный вход в систему» ​​или «неверные учетные данные». Я попробую больше вещей завтра. oscilatingcretin 10 лет назад 0

Похожие вопросы