我实现了一个使用Spring Security的基本身份验证的Web服务器。
当访问URL时,我禁用了默认的身份验证入口(而不是响应401和www-authentication头,它只返回401),目的是防止浏览器显示身份验证弹窗。
我能够使用JavaScript代码和类似curl的命令行工具连接到服务器,但是当我使用浏览器(Chrome和Firefox)测试时,它们就不会发送头文件。
curl -v -u user:password localhost:8080/user
GET /user HTTP/1.1
Host: localhost:8080
Authorization: Basic dXNlcjpwYXNzd29yZA==
User-Agent: curl/7.58.0
Accept: /
Chrome:版本71.0.3578.98(官方版本)(64位)
http://user:password@localhost:8080/user
接受语言: en-AU,en;q = 0.9,fr-FR;q = 0.8,fr;q = 0.7,en-GB;q = 0.6,en-US;q = 0.5GET /user HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
DNT: 1
Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8
Accept-Encoding: gzip, deflate, br
为什么浏览器没有发送身份验证标头。