【Http认证方式】——Basic认证

今天在访问请求: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://blog.csdn.net/u013177446/article/details/54135520 

你可能感兴趣的:(SpringMVC)