HTTP 的认证机制
   
    
     基本认证、摘要认证
    
   
    一、基本认证
   
    用
    
     
      BASE64
     
    
    算法加密后的字符串放在
    
     HTTP Request
    
    中的
    
     Header Authorization
    
    中发送给服务端, 这种方式叫HTTP基本认证(Basic Authentication)
   
    
     
      Basic
     
    
    认证是一种较为简单的HTTP认证方式,客户端通过明文(Base64编码格式)传输用户名和密码到服务端进行认证,通常需要配合HTTPS来保证信息传输的安全。
   
     
   
    
     
      HTTPBasic
     
    
    是由
    
     
      HTTP
     
    
    协议定义的最基础的认证方式。每次请求时,在请求头
    
     
      Authorization
     
    
    参数中附带用户/密码的
    
     
      base64
     
    
    编码。这个方式并不安全,不适合在web项目中使用。但它是一些现代主流认证的基础,而且在spring security的oauth中,内部认证默认就是用的
    
     
      HTTPBasic
     
    
    。
   
    请求流程
   
    当
    
     request
    
    第一次到达服务器时,服务器没有认证的信息,服务器会返回一个401 Unauthozied给客户端。
    
    认证之后将认证信息放在
    
     session
    
    ,以后在
    
     session
    
    有效期内就不用再认证了
    
   
    二、请求原理
   
     
   
    我们可以看到在
    
     WWW-Authenticate
    
    这个
    
     Header
    
    里面有
    
     Basic
    
    :说明需要基本认证,
    
     realm
    
    :说明客户端需要输入这个安全区的用户名和密码。
   
    浏览器弹出输入用户名/密码的弹窗,并将其拼接成“
    
     
      用户名:密码”
     
    
    格式,中间是一个冒号,再用base64编码成xxx,然后在请求头中附加Authorization:Basic xxx,发给后台认证。后台需要用base64解码xxx,再认证用户名/密码。
   
    三、postman请求方式
   
    1、
    
     base64
    
    加密
   
    
     格式:
    
   
用户名:密码
    
     例如
    
    :账号:admin;密码:123
   
    
     base64
    
    加密:
   
YWRtaW46MTIz
    使用
    
     postman
    
    模拟请求 :
    
     value
    
    值:Basic YWRtaW46MTIz
   
     
   
    二、账号密码
   
     
   
    四、注销
   
1、关闭浏览器销毁
2、配置错的Authorization
 
