一、何為認證
核對資訊:密碼、動態令牌、數字證書、生物認證、IC卡
HTTP使用的認證方式:BASIC認證(基本認證)、DIGEST認證(摘要認證)、SSL客戶端認證、FormBase認證(基于表單認證)
二、BASIC認證
是web端與客戶端進行認證的方式(不常用)
將密碼以base64編碼儲存在 authorization 首部欄位 (不安全)
認證步驟:
1、客戶端請求認證資源,服務器回傳401
2、客戶端接收401,請求服務器(包含用戶名和密碼)
3、服務器確認用戶名和密碼正確,回傳回應
三、DIGEST認證
使用質詢回應方法,DIGEST認證內容存放在 Authorization 首部中
認證步驟:
1、客戶端請求認證資源,服務器回傳401+ 臨時質詢碼(數字,nonce)
2、客戶端接收401,請求服務器(包含DIGEST認證資訊)
3、服務器確認DIGEST認證資訊的正確性,回傳回應
四、SSL客戶端認證
1、SSL客戶端認證的認證步驟
(1)首先客戶端安裝客戶端認證證書
(2)客戶端請求認證資源,服務器發送 Certificate Request 報文+提供客戶端證書
(3)客戶端會把證書以 Client Certificate 報文發送服務器
(4)服務器驗證證書并領取密鑰,然后通信
2、SSL客戶端認證采用雙因素認證
雙因素認證:驗證時需要密碼+其他資訊
3、SSL客戶端認證必要的費用
客戶端證書需要一定的費用才能使用
五、基于表單認證
認證多半為基于表單認證
Session管理及Cookie應用,一般會使用Cookie來管理Session對話
認證步驟:
1、客戶端用post方法把用戶ID和密碼發送給服務器
2、服務器發放識別用戶的SessionID(服務器需做有效期管理,Cookie加上httponly屬性)
3、客戶端收到SessionID后,作為Cookies保存在本地,
4、下次客戶端發請求自動發送Cookie
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/238955.html
標籤:其他
