Я запускаю приложение ASP. NET 4 в IIS с использованием аутентификации NTLM (Windows). Все остальные схемы аутентификации отключены. Я могу успешно пройти аутентификацию на сервере. Однако даже после успешной аутентификации сервер (при определенных обстоятельствах, описанных ниже) по-прежнему возвращает ошибку 401 Unauthorized, когда я запрашиваю файлы Javascript. Почему мне не разрешено загружать JS файлы?
Конечно, я не совсем понимаю, как работает NTLM, но я ожидаю, что когда я запрашиваю защищенный ресурс, произойдет что-то вроде следующего:
- Я делаю запрос на localhost: 444 (да, это правильный порт)
- Я не аутентифицирован, поэтому IIS возвращает 401 моему веб-браузеру.
- Мой Интернет браузер понимает, что он должен предоставить мне всплывающее окно, в котором я могу ввести мое имя пользователя и пароль. Я так и делаю.
- Браузер и IIS выполняют поток аутентификации NTLM. (tbh, я не знаю подробностей об этом.) Аутентификация прошла успешно. Браузер понимает необходимость повторного запроса моего исходного запроса с шага 1.
- IIS возвращает index. html.
- Index. html ссылается на файл CSS и некоторые JS файлы. Браузер запрашивает эти файлы.
- IIS возвращает эти файлы.
Эта желаемая функция работает ... обычно. Когда я захожу на сайт с Firefox, Chrome 78 или Chrome 83, все работает должным образом. Однако, когда я захожу на сайт, используя Chrome 70, вместо этого происходит следующее:
- Шаги с 1 по 5 работают правильно, как описано выше.
Индекс. html ссылается на файл CSS и некоторые файлы JS. Браузер запрашивает эти файлы. IIS возвращает CSS файл,
, но возвращает ошибку 401 для JS файла .
Затем, однако, когда я включил Fiddler (и настроил его на расшифровку https, потому что я использовал https), Chrome 70 начал вести себя правильно, как Firefox и Chrome 78 и Chrome 83. Я снова выключил Fiddler и снова получил ту же ошибку (в моем JS файле).
Кто-нибудь знает, в чем проблема?
Спасибо!