日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于角色-功能-资源的权限控制模型的设计与实现-引子

發布時間:2024/9/20 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于角色-功能-资源的权限控制模型的设计与实现-引子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

摘要

本文在RBAC基本思想的基礎上,增加資源權限的概念,設計了在企業應用系統中用戶權限控制的一種具體的簡單實現方法。

關鍵字 用戶權限控制

名詞解釋

資源權限:資源指的是納入企業應用的一切需要管理的信息實體,如進銷存系統中的進貨訂單;資源權限則是系統將要在這些資源的基礎上進行的訪問使用權限的控制;

引言

企業應用系統對安全問題有較高的要求,傳統的訪問控制方法DAC(Discretionary Access Control,自主訪問控制模型)、MAC(Mandatory Access Control,強制訪問控制模型)難以滿足復雜的企業環境需求。因此,NIST(National Institute of Standards and Technology,美國國家標準化和技術委員會)于上世紀90年代初提出了基于角色的訪問控制方法,實現了用戶與訪問權限的邏輯分離,更符合企業的用戶、組織、數據和應用特征。

本文將首先介紹RBAC(Role Based Access Control)的基本思想,在此基礎上,給出企業應用系統中實現R-F-RBAC(Role-Function-Resource Based Access Control,基于角色-功能-資源的權限控制)的一種具體方法。

RBAC的基本思想可簡單地用圖1來表示,即把整個訪問控制過程分成兩步:訪問權限與角色相關聯,角色再與用戶關聯,從而實現了用戶與訪問權限的邏輯分離。


?

由于RBAC實現了用戶與訪問權限的邏輯分離,因此它極大的方便了權限管理。例如,如果一個用戶的職位發生變化,只要將用戶當前的角色去掉,加入代表新職務或新任務的角色即可,角色/權限之間的變化比角色/用戶關系之間的變化相對要慢得多,并且委派用戶到角色不需要很多技術,可以由行政管理人員來執行,而配置權限到角色的工作比較復雜,需要一定的技術,可以由專門的技術人員來承擔,但是不給他們委派用戶的權限,這與現實中情況正好一致。

而R-F-RBAC的設計思路是在RBAC基礎上的一個發展,引入了資源的概念。何所謂資源,大體來說可以是納入系統管理的信息,在技術實現層面可以是一張表、一條或一列記錄、甚至可以是表的一個單元格。在實踐使用中,一些高安全級別額的企業應用,僅僅將權限控制到功能是不夠的,要求能控制某些用戶只能操作到指定的系統內容。

案例分析

這里我們用一個簡單的應用模型實例對R-F-RBAC進行深入分析,即給某企業應用假設一個安全級別較高的合同管理子模塊,這個模塊涉及如下元素:

·合同文件:根據業務要求分為三個等級(項目級、部門級、公司級);

·具體功能:根據實際功能要求分為草擬、上報、會簽、批核;

·操作角色:根據公司行政職位設置有項目經理、部門經理、總經理;

·操作人員:公司的內部人員A項目經理張三、甲部門經理李四、總經理王二;

系統的安全需求為A項目經理張三只能草擬并上報僅限于A項目的項目級別合同文件,甲部門經理李四只能草擬、上報、會簽率屬于甲部門下的項目級或部門級的合同文件,而總經理王二則有權任意操作整個公司的三個級別的合同文件,可將此模型歸納為如下表格:

人員

角色

功能

資源

王二

總經理

草擬、上報、會簽、批核

三個級別的合同文件

李四

部門經理

草擬、上報、會簽

甲部門下的項目級或部門級的合同文件

張三

項目經理

草擬、上報

僅限于A項目的項目級別合同文件

解決方案

為此我們要設計如下幾張關鍵的數據表:

·用戶表:??? ?????? 記錄用戶的相關信息,UserID作為唯一的用戶標識;

·角色表:??? ?????? 記錄角色的相關信息,RoleID作為唯一的角色標識;

·模塊及功能表:記錄模塊相關信息及模塊的相關功能,分為主子關系表;

·資源表:??????????? 記錄系統中的所有需要高安全控制的資源信息,其中ResTable是資源對應的數據表名(如合同信息表),ResTerm則是給定該資源的條件(如甲部門下的項目級或部門級的合同文件)用于限定數據提取范圍;

由于本文提到的R-F-RBAC的設計思路均考慮用戶可以授予多角色,因此我們需要建立用戶-角色對應表,用來記錄某用戶可能對應的若干角色信息,同樣需要建立的是角色-功能對應表和角色-資源對應表,以徹底剝離用戶與權限訪問間的關系;

數據庫關系圖(僅涉及關鍵字段)如下:

?

程序實現

代碼實現應分為三大部分:

·權限數據維護:該部分主要實現用戶、角色、功能、資源等基礎信息的維護,給系統管理員一個便利的操作接口;

·權限數據處理:指的是在程序內部實現權限調用接口,如根據調用者提供的模塊及用戶的信息給出應該提供可操作數據和功能;

·權限數據引用:在UI層具體的處理用戶對應的組合權限,如根據得到的功能權限信息控制UI上按鈕、菜單等功能元素的顯隱活可用性,或根據得到的資源權限條件組合提數條件以達到某些用戶只能操作到指定的系統內容的控制級別;

附:引言部分關于RBAC的基本思想的闡述文字來源于http://www.infosecurity.org.cn/article/pki/accessctrl/23637.html ,在此對原作者表示感謝!

總結

以上是生活随笔為你收集整理的基于角色-功能-资源的权限控制模型的设计与实现-引子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。