今天在訪問請求: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的其他認證方式**************************************
除了這種方式外,還有其他三種認證方式