访问请求:http://192.168.2.113:8080/geoserver/rest/workspaces时,浏览器弹出窗口需要输入用户名和密码
,并且,如果不输入或者输入错误,浏览器返回
可以在火狐浏览器的网络监控这里看到请求的详细信息,
服务器会返回一个401 Unauthozied给客户端,并且在Response 的 header “WWW-Authenticate” 中添加信息。
当我们输入正确的用户名和密码之后,服务器正确返回。可以看到这个时候的请求信息:
这是浏览器将我们的用户名和密码进行base64编码之后,发送到服务端。
这种认证方式是Http Basic认证,流程是:
1、浏览器发送get请求到服务器,服务器检查是否含有请求头Authorization信息,若没有则返回响应码401且加上响应头
2、浏览器得到响应码自动弹出框让用户输入用户名和密码,浏览器将用户名和密码进行base64编码(用户名:密码),设置请求头Authorization,继续访问
方法一:增加请求参数
方法二:使用类Authenticator
step1 创建类继承Authenticator
step2 在获取网络资源之前,设置
3、浏览器得到Authorization请求头信息,验证成功。
********************自己写了个需要Basic验证的服务*****************************************************************************************
********************************************Http的其他认证方式**************************************
除了这种方式外,还有其他三种认证方式
原文地址:https://www.cnblogs.com/jiangzhaowei/p/9125084.html
时间: 2024-11-12 04:48:29