Чтобы разобраться в вашем вопросе, похоже, вы пытаетесь выяснить, настроен ли IE на автоматическую отправку учетных данных NTLM на ваш сервер.
К сожалению, нет способа точно определить это.Первоначально я думал поместить файл JavaScript в защищенный каталог, в котором просто установлена глобальная переменная, и указать ссылку на этот скрипт в <head>
.(<script src="protected-dir/test.js"></script>
- protected-dir
будет настроен только для интегрированной аутентификации с отключенной анонимной аутентификацией.) Если скрипт загружается, переменная устанавливается;и если он потерпит неудачу, переменная, очевидно, нет.Другой скрипт на странице может проверить переменную и показать сообщение, если оно не установлено.
Это работает безупречно, когда все правильно настроено на клиенте, но когда автоматический вход в систему выключен, это вызывает уродливо401 диалоговое окно для всплывающего окна, что явно не годится.Кроме того, запрос XHR не является ответом, поскольку спецификация специально говорит, что браузер должен запрашивать учетные данные , если он получает 401.
К сожалению, я неНе думаю, что есть способ автоматически определить, включен ли автоматический вход, не вызывая диалоговое окно 401.