Отметить комментарий правильный; Запрос на аутентификацию NTLM инициируется кодом ответа 401 и присутствием NTLM в качестве первого механизма, предлагаемого в заголовке WWW-Authenticate (Ref: Протокол аутентификации NTLM ).
Я не уверен, правильно ли я понимаю описание вопроса, но я думаю, что вы пытаетесь обернуть проверку подлинности NTLM для SharePoint, что означает, что вы не можете контролировать протокол проверки подлинности на стороне сервера, верно? Если вы не можете манипулировать серверной стороной, чтобы избежать отправки ответа 401 на ошибочные учетные данные, то вы не сможете избежать этой проблемы, поскольку она является частью спецификации (на стороне клиента):
Если UA поддерживает аутентификацию HTTP [RFC2617], он ДОЛЖЕН рассматривать запросы
происходящих из этого объекта, чтобы быть частью защитного пространства, которое включает в себя
обращались к URI и отправляли заголовки авторизации и обрабатывали 401 неавторизованный запрос
соответственно. в случае сбоя аутентификации UA должны запросить учетные данные у пользователей.
Таким образом, спецификация фактически призывает браузер соответствующим образом запросить пользователя, если какой-либо ответ 401 получен в XMLHttpRequest, так же, как если бы пользователь получил прямой доступ к URL-адресу. Насколько я могу сказать, единственный способ действительно избежать этого - это иметь контроль над серверной стороной и избежать 401 несанкционированных ответов, как отметил Марк.
Еще одна мысль: вы можете обойти это, используя прокси-сервер, такой как отдельный серверный скрипт на другом веб-сервере. Затем этот сценарий принимает параметр user и pass и проверяет аутентификацию, поэтому браузер пользователя не является тем, что делает исходный HTTP-запрос, и поэтому не получает ответ 401, который вызывает запрос. Если вы сделаете это таким образом, вы сможете узнать из сценария «прокси», что он потерпел неудачу, и если это так, то попросите пользователя снова, пока он не преуспеет. При успешном событии аутентификации вы можете просто получить HTTP-запрос, как и сейчас, поскольку все работает, если учетные данные указаны правильно.