#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