Почему встроенная проверка подлинности Windows не работает, когда клиенты выходят из сети - PullRequest
1 голос
/ 02 апреля 2010

У меня нет опыта работы с веб-приложениями, поэтому мне сложно объяснить эту проблему. Сначала я попытаюсь описать настройку.

Настройка клиента:

  • Используется только браузер IE 6-8 (Firefox, Chrome, Opera и Safari работают нормально)
  • Пользователь будет пытаться получить доступ к нашему веб-приложению с ноутбука компании, который не подключен к нашей сети.
  • Этот компьютер будет членом нашей рабочей группы, и DNS компании будет указан в качестве надежного сайта в интрасети. (членом которого будет рассматриваемая заявка)
  • Режим безопасного входа в систему установлен на Автоматический вход в систему только в зоне интрасети, а проверка подлинности IWA включена в браузере клиентов.

Настройка сервера:

  • Windows Server 2003 fp2
  • Приложение сначала перенаправит на страницу авторизации asp, на которой отключен анонимный доступ и включен IWA в IIS.

Что должно произойти, так как клиент в данный момент не находится в сети, когда эта страница вызывается, он должен запросить у пользователя учетные данные сети. Но в IE вместо запроса пользователь получает сообщение об ошибке «Страница не может быть отображена», поскольку диспетчер IIS запрещает доступ к странице asp. Если DNS-адрес компании удаляется из списка сайтов доверенных интрасетей, он запрашивает правильно, но отключает единый вход при следующем подключении компьютера к сети или VPN.

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

Есть ли способ обойти это, чтобы наши клиенты могли хранить DNS компании в зоне интрасети, но при этом не получать от сервера запрос на ввод учетных данных, когда их нет в сети? Насколько я знаю, любая попытка разрешить анонимный доступ к странице asp приведет к тому, что AUTH_USER вернет ноль и снова нарушит единый вход.

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

Ответы [ 2 ]

2 голосов
/ 08 апреля 2010

IE откажется использовать NTLM / Negotiate через прокси, если только этот прокси не введет

Proxy-Support: Session-Based-Authentication

заголовок ответа.

Кроме того, IE примет во внимание настройки зоны при определении правильного поведения. Вы можете настроить параметр «Надежные сайты» для входа в систему на «Запрос имени пользователя и пароля».

0 голосов
/ 02 апреля 2010

Скорее всего, причиной вашей проблемы является прокси, через который проходят ваши клиенты. Этот прокси, вероятно, блокирует проверку подлинности NTLM от клиента. Это общая проблема, которую я видел несколько раз в прошлом.

...