<em id="bnjfz"><form id="bnjfz"></form></em>

                  千鋒教育-做有情懷、有良心、有品質的職業教育機構

                  當前位置:首頁  >  關于學院  >  技術干貨  >  正文

                  項目中是如何實現權限驗證的?權限驗證需要幾張表?

                  來源:千鋒教育
                  作者:qyf
                  關鍵詞: 角色 權限
                  2022-09-01
                  分享

                    現在比較普遍的權限管理模型就是RBAC(Role-Based Access Control)。

                    1. 權限控制分類

                    菜單功能

                    url控制(控制訪問不同的控制器)

                    2. RBAC的優缺點

                    2.1 優點

                    簡化了用戶和權限的關系

                    易擴展、易維護

                    2.2 缺點

                    RBAC模型沒有提供操作順序的控制機制,這一缺陷使得RBAC模型很難適應哪些對操作次序有嚴格要求的系統。

                    3. RBAC支持的安全原則

                    3.1 最小權限原則

                    RBAC可以將角色配置成其完成任務所需的最小權限集合。

                    3.2 責任分離原則

                    可以通過調用相互獨立互斥的角色來共同完成敏感的任務,例如要求一個記賬員和財務管理員共同參與統一過賬操作。

                    3.3 數據抽象原則

                    可以通過權限的抽象來體現,例如財務操作用借款、存款等抽象權限,而不是使用典型的讀寫權限。

                    4. 遠古時代的權限控制模型

                    當時還沒有RBAC,也沒有這個概念,就是一堆程序員在那鼓搗,覺得登錄這塊該做點什么,基本邏輯如下:

                    新建一個用戶,對這個用戶進行賦予權限。

                    但是一旦用戶多了,權限復雜了,這工作量也是蠻大的。

                    5. RBAC模型

                    5.1 RBAC 1.0

                  1

                    直接上圖,一目了然,當程序不是很復雜的時候,RBAC就是這樣設計的,我們公司的權限驗證模塊就是這樣設計的。簡簡單單,五張表,解決。

                    5.2 RBAC 2.0

                    基于RBAC 1.0模型的基礎上,進行了角色的訪問控制。

                  2

                    RBAC2中的一個基本限制是互斥角色的限制,互斥角色是指各自權限可以互相制約的兩個角色。對于這類角色一個用戶在某一次活動中只能被分配其中的一個角色,不能同時獲得兩個角色的使用權。

                    該模型有以下幾種約束:

                    互斥角色 :同一用戶只能分配到一組互斥角色集合中至多一個角色,支持責任分離的原則?;コ饨巧侵父髯詸嘞藁ハ嘀萍s的兩個角色。對于這類角色一個用戶在某一次活動中只能被分配其中的一個角色,不能同時獲得兩個角色的使用權。常舉的例子:在審計活動中,一個角色不能同時被指派給會計角色和審計員角色。

                    基數約束 :一個角色被分配的用戶數量受限;一個用戶可擁有的角色數目受限;同樣一個角色對應的訪問權限數目也應受限,以控制高級權限在系統中的分配。例如公司的領導人有限的;

                    先決條件角色 :可以分配角色給用戶僅當該用戶已經是另一角色的成員;對應的可以分配訪問權限給角色,僅當該角色已經擁有另一種訪問權限。指要想獲得較高的權限,要首先擁有低一級的權限。就像我們生活中,國家主席是從副主席中選舉的一樣。

                    運行時互斥 :例如,允許一個用戶具有兩個角色的成員資格,但在運行中不可同時激活這兩個角色。

                    6. rbac的實現理論分析步驟

                    進入登錄頁面;

                    拿到通過post傳過來的用戶名和密碼;

                    使用orm進行過濾查找;

                    如果能找到值,則說明登錄成功:登錄成功后調用rbac初始化函數,初始化函數的主要功能是獲取用戶的權限和菜單保存到session中,并跳轉客戶列表頁面;如果失敗,頁面進行友好提示;

                  聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。

                  相關推薦

                1. 你了解哪些加密算法? 循環冗余校驗(Cyclic Redundancy Check, CRC)是一種根據網絡數據包或電腦文件等數據產生簡短固定位數校驗碼的一種散列函數,主要用來檢測或校驗數據傳輸或者保存后可能出現的錯誤。
                2. 項目中是如何實現權限驗證的?權限驗證需要幾張表? 互斥角色 :同一用戶只能分配到一組互斥角色集合中至多一個角色,支持責任分離的原則。對應的可以分配訪問權限給角色,僅當該角色已經擁有另一種訪問權限。運行時互斥 :例如,允許一個用戶具有兩個角色的成員資格,但在運行中不可同時激活這兩個角色。
                3. 如何實現跨域?說一下JSONP實現原理? 當一個資源從與該資源本身所在的服務器不同的域、協議或端口請求一個資源時,資源會發起一個跨域 HTTP 請求。反向代理的原理很簡單,即所有客戶端的請求都必須先經過nginx的處理,nginx作為代理服務器再講請求轉發給node或者java服務,這樣就規避了同源策略。
                4. 什么是CSRF攻擊?如何避免? 由于CSRF的本質在于攻擊者欺騙用戶去訪問自己設置的地址,所以如果要求在訪問敏感數據請求時,要求用戶瀏覽器提供不保存在cookie中,并且攻擊者無法偽造的數據作為校驗,那么攻擊者就無法再運行CSRF攻擊。
                5. 什么是XSS攻擊?如何避免? 所以XSS攻擊的核心就是瀏覽器渲染DOM的時候將文本信息解析成JS腳本從而引發JS腳本注入,那么XSS攻擊的防御手段就是基于瀏覽器渲染這一步去做防御。
                6. 如何保證數據質量(數倉)? 1、大公司就可以說是公司自研的數據質量系統來保障數據質量,保證ODS同步數據是否多少、可以配置ODS層數據量為上游數據的百分比、可以配置告警。第二版本自己寫的web項目來對數據質量監控,主要實現數據條數、同環比指標的一些監控。
                7. 国内免费视频青女在线

                  <em id="bnjfz"><form id="bnjfz"></form></em>