前後端常見的幾種鑑權方式

2021-10-01 02:49:29 字數 1423 閱讀 5108

每個專案產品都要加埋點,加500行埋點是不是會占用你一兩天的時間而且很容易犯錯,想只用一小時準確加完這500行埋點剩下一天喝茶聊天麼?來試試這520工具,高效加埋點,目前我們公司100號前端都在用,因為很好用,所以很自然普及開來了,推薦給大家吧

目前我們常用的鑑權有四種:

token 驗證

oauth(開放授權)

一.http basic authentication

這種授權方式是瀏覽器遵守http協議實現的基本授權方式,http協議進行通訊的過程中,http協議定義了基本認證認證允許http伺服器對客戶端進行使用者身份證的方法。

認證過程:

1. 客戶端向伺服器請求資料,請求的內容可能是乙個網頁或者是乙個ajax非同步請求,此時,假設客戶端尚未被驗證,則客戶端提供如下請求至伺服器:

2. 伺服器向客戶端傳送驗證請求**401,(www-authenticate: basic realm=」google.com」這句話是關鍵,如果沒有客戶端不會彈出使用者名稱和密碼輸入介面)伺服器返回的資料大抵如下:

3. 當符合http1.0或1.1規範的客戶端(如ie,firefox)收到401返回值時,將自動彈出乙個登入視窗,要求使用者輸入使用者名稱和密碼。

4. 使用者輸入使用者名稱和密碼後,將使用者名稱及密碼以base64加密方式加密,並將密文放入前一條請求資訊中,則客戶端傳送的第一條請求資訊則變成如下內容:

authorization: basic d2fuzzp3yw5n

注:d2fuzzp3yw5n表示加密後的使用者名稱及密碼(使用者名稱:密碼 然後通過base64加密,加密過程是瀏覽器預設的行為,不需要我們人為加密,我們只需要輸入使用者名稱密碼即可)

5. 伺服器收到上述請求資訊後,將authorization欄位後的使用者資訊取出、解密,將解密後的使用者名稱及密碼與使用者資料庫進行比較驗證,如使用者名稱及密碼正確,伺服器則根據請求,將所請求資源傳送給客戶端

效果:客戶端未未認證的時候,會彈出使用者名稱密碼輸入框,這個時候請求時屬於pending狀態,這個時候其實服務當使用者輸入使用者名稱密碼的時候客戶端會再次傳送帶authentication頭的請求。

認證成功:

server.js

前後端常見的幾種鑑權方式

目前我們常用的鑑權有四種 token 驗證 oauth 開放授權 一.http basic authentication 這種授權方式是瀏覽器遵守http協議實現的基本授權方式,http協議進行通訊的過程中,http協議定義了基本認證認證允許http伺服器對客戶端進行使用者身份證的方法。認證過程 1...

前端鑑權的幾種方式

基於瀏覽器的一種鑑權方式。1.未授權請求,攔截,返回 401 unauthorised 2.支援的瀏覽器彈出使用者名稱密碼框,輸入使用者名稱密碼,連同上次請求資料,一起傳送到服務端 使用授權頭,authorization basic base64 編碼的使用者名稱密碼 3.服務端驗證通過,返回資源 ...

前後端分離 通用鑑權方案 (分組許可權)

做了幾個前後端分離的專案,都遇到了許可權管理的問題。這裡總結一下實現的方案及注意事項。鑑權的需求一般是這樣的,假設有 a 主頁 b,c,d 系統配置頁 四個頁面 使用者與頁面是多對多的關係,相互之間會有交叉,所以使用簡單的分級許可權實現起來是很麻煩的。如果新增乙個使用者,使其能訪問abc,就需要新建...