Два дополнения WWW-Authenticate, которые Microsoft использует, о которых мне известно в настоящее время:
Если Negotiate отправляется с сервера, на основе набора условий будет использоваться Kerberos
- Интранет-зона
- Доступ к серверу с использованием имени хоста, а не IP
- Встроенная проверка подлинности Windows в IE включена, хост доверяет Firefox
- Сервер не является локальным для браузера
- Система Kerberos клиента аутентифицируется на контроллере домена
Тогда между сервером и клиентом будет предпринята попытка Kerberos, если что-то из перечисленного не будет выполнено, тогда будет предпринята попытка NTLM.
У меня вопрос, есть ли у сервера способ указать, что NTLM не следует отправлять? В настоящее время я занимаюсь этим, отслеживая запрос в сеансе, и, если получено сообщение NTLM, он отключает Kerberos и WWW-Authenticate до конца этой сессии.