Заголовки NTML не отправляются Firefox или IE

#asp.net #firefox #firebug #ntlm

#asp.net #firefox #firebug #ntlm

Вопрос:

В настоящее время я разрабатываю ASP.NET Приложение и я хочу получить имя пользователя и рабочую станцию текущего пользователя / запроса.
Я хочу использовать NTLM и Authorization с WWW-Authenticate: NTLM HTTP-заголовками.

Я включил эти настройки в Firefox 4:

 network.negotiate-auth.trusted-uris = http://localhost
network.negotiate-auth.delegation-uris = http://localhost
network.automatic-ntlm-auth.trusted-uris = http://localhost
network.ntlm.send-lm-response = true
  

Но я не получаю заголовок авторизации в Firebug или в моем приложении (используя Request.Headers ).
Я также пробовал с IE 9, но он также не отправляет их.

Я что-то здесь упускаю?

Я думал, что они отправляются автоматически с каждым запросом, как только я включил его для доверенных URI, и они также отправляются автоматически в IE, по крайней мере, во внутренних сетях.

Приложение ASP использует аутентификацию forms, и оно должно оставаться таким в качестве запасного варианта.

Ответ №1:

Браузер отправляет заголовки NTLM / Negotiate только тогда, когда он получает ошибку 401 с соответствующим WWW-Authenticate заголовком (NTLM и / или Negoriate). Затем браузер автоматически выполняет еще один запрос с заголовками, которые вы ищете:

  • В случае NTLM перед этим беззвучным запросом вам будет предложено войти в систему / pwd. Затем, если браузер снова получит ошибку 401, снова появится всплывающее окно с приглашением войти / pwd. И это будет повторяться до тех пор, пока не будут нажаты правильные учетные данные или Отмена. При каждом втором запросе приложение будет получать заголовки аутентификации.
  • В случае Negotiate вам будет предложено войти в систему / pwd только в том случае, если браузер не смог авторизовать вас. Остальное то же самое, что и для NTLM.

В любых других запросах эти заголовки не отправляются. А также когда включена анонимная аутентификация и / или Windows one отключена для запрошенного ресурса.

Ответ №2:

Если у вас включена анонимная аутентификация в IIS, она будет использоваться по умолчанию. Чтобы использовать NTLM, вы должны отключить анонимную аутентификацию.

Комментарии:

1. Затем я получаю «HTTP-Ошибка 401.2 — неавторизованный», потому что заголовок по-прежнему не отправляется в FF. работает с IE, но заголовок также отсутствует

2. @Simon: При новой установке FireFox мы только устанавливаем network.negotiate-auth.trusted-uris , и это заставляет его работать. Один из трюков заключается в том, что это список, разделенный запятыми. Если у вас есть несколько URL, разделенных ; или любым другим разделителем, это не сработает.

3. Нет, никакого эффекта. У меня только точно такая же конфигурация, как указано выше, и я попытался установить только ваш параметр. Я также несколько раз перезапускал свой Firefox и все еще получаю 401.2