我已经实现,它使用基本身份验证(使用弹簧安全)的Web服务器。
访问URL(而不是用WWW认证头响应401,它只是返回401),当我禁用默认的身份验证入口点,目的是为了防止浏览器显示的验证弹出。
我能够连接到使用JavaScript代码和命令行工具,如卷曲的服务器,但是当我用浏览器(Chrome和Firefox浏览器)进行了测试,他们只是不发送头。
curl -v -u user:password localhost:8080/user
GET /用户HTTP / 1.1 主持人:本地主机:8080 授权:基本dXNlcjpwYXNzd29yZA == 用户代理:卷曲/ 7.58.0 接受:/
铬:版本71.0.3578.98(正式版本)(64位) http://user:password@localhost:8080/user
GET /用户HTTP / 1.1 主持人:本地主机:8080 连接:保持活跃 升级不安全,要求:1 用户代理:Mozilla的/ 5.0(Windows NT的10.0; Win64的; 64)为AppleWebKit / 537.36(KHTML,例如Gecko)铬/ 71.0.3578.98 Safari浏览器/ 537.36 DNT:1 接受: text / html的,应用/ XHTML + xml的,应用/ XML; Q = 0.9,图像/ WEBP,图像/ APNG,/ Q = 0.8 接受编码:gzip,紧缩,BR接受语言:EN-AU,连接; Q = 0.9,FR-FR; Q = 0.8,FR; Q = 0.7,EN-GB; Q = 0.6,EN-US; Q = 0.5
为什么浏览器不发送认证头。
通常情况下,浏览器获得登录后的验证令牌。后端增加了一个有效的令牌授权部分的标题。为了操纵你需要一个像https://addons.mozilla.org/de/firefox/addon/restclient/一个插件或类似邮递员一个额外的工具,浏览器的HTML请求。