Я реализовал веб-сервер, который использует обычную аутентификацию (с использованием Spring Security).
Я отключил точку входа аутентификации по умолчанию при доступе к URL-адресу (вместо ответа 401 с заголовком www-аутентификации, он просто возвращает 401), цель состоит в том, чтобы браузер не отображал всплывающее окно аутентификации.
Я могу подключиться к серверу с помощью кода JavaScript и таких инструментов командной строки, как curl, однако, когда я тестировал его с помощью браузеров (chrome & firefox), они просто не отправляли заголовок.
curl -v -u user:password localhost:8080/user
GET / user HTTP / 1.1
Хост: localhost: 8080
Авторизация: Basic dXNlcjpwYXNzd29yZA ==
User-Agent: curl / 7.58.0
Accept: /
Chrome: версия 71.0.3578.98 (официальная сборка) (64-разрядная версия)
http://user:password@localhost:8080/user
GET / пользовательский HTTP / 1.1
Хост: localhost: 8080
Соединение: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML, как Gecko) Chrome / 71.0.3578.98 Safari / 537.36
DNT: 1
Принимать:
текст / html, приложение / xhtml +xml, application / xml; q = 0,9, image / webp, image / apng, / ; q = 0,8
Accept-Encoding: gzip, deflate, br Accept-Language: en-AU, en; q = 0,9, fr-FR; q = 0,8, fr; q = 0,7, en-GB; q = 0,6, en-US; q = 0,5
Почему браузеры не отправляютзаголовок аутентификации.