У меня нет опыта работы с веб-приложениями, поэтому мне сложно объяснить эту проблему. Сначала я попытаюсь описать настройку.
Настройка клиента:
- Используется только браузер 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 вернет ноль и снова нарушит единый вход.
Я понимаю, что это немного бессвязно, поэтому я сделаю все возможное, чтобы уточнить любые вопросы, которые могут возникнуть у вас, ребята. Заранее спасибо.