[發明專利]一種基于ABAC和RBAC的權限控制方法有效
| 申請號: | 201410447978.2 | 申請日: | 2014-09-04 |
| 公開(公告)號: | CN104217146B | 公開(公告)日: | 2017-02-15 |
| 發明(設計)人: | 劉建華 | 申請(專利權)人: | 浪潮通用軟件有限公司 |
| 主分類號: | G06F21/31 | 分類號: | G06F21/31;G06F21/62 |
| 代理公司: | 濟南信達專利事務所有限公司37100 | 代理人: | 姜明 |
| 地址: | 250101 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 abac rbac 權限 控制 方法 | ||
1.一種基于ABAC和RBAC的權限控制方法,其特征在于包括以下步驟和內容:
步驟一:權限模型的實體類定義,實體類的定義的信息包括基本信息、控制項信息、分配結果表信息和維度信息;
步驟二:權限模型控制觸發點設置,基于步驟一定義的實體類,將該實體類與需要控制業務資源對象關聯起來,即設置權限模型控制的觸發點;
步驟三:權限模型控制條件設置,根據步驟一定義的模型實體類,獲取定義的控制項信息,然后對定義的各個控制項,設置對應控制的條件,并將設置的條件持久化,以便后面步驟調用;
步驟四:權限模型訪問控制的調用,當用戶訪問某個業務資源時,如果該業務資源對象經過步驟二的設置,則會根據步驟二設置的關聯關系,獲取定義的實體類信息,然后根據實體類信息,獲取步驟三定義的模型控制的條件信息;?
步驟五:權限模型控制條件的解析,將步驟四獲取出來的控制條件,按照類型不同,調用不同的條件解析器進行解析,然后將結果返回;
步驟六:根據返回結果,訪問資源;
根據步驟五解析的模型控制條件結果,對資源進行控制訪問。
2.根據權利要求1所述基于ABAC和RBAC的權限控制方法,其特征在于:步驟一,定義權限模型的實體類,除了包括定義的基本信息之外,還需定義控制項信息,對于基于屬性權限對象來說,則需定義屬性控制項集合AttributeItemCollection,里面包括了定義的屬性的項名稱以及該項對應的屬性資源的類型,包括主體屬性和環境變量;對于基于角色的權限對象來說,則需定義對應的數據源信息DataSourceCollection,里面包括數據源的編號、類型以及分配時的設置信息。
3.根據權利要求1所述基于ABAC和RBAC的權限控制方法,其特征在于:步驟二,設置權限模型控制觸發點,選取待控制的業務資源對象,并將定義的模型與業務資源對象關聯起來,對于基于屬性權限對象,主要是將定義的模型信息與業務資源對象關聯ResAttributeRelation;對于基于角色的權限對象,除了定義的模型信息與業務資源對象關聯信息ResourceRelation之外,還需要定義相關對應的關聯字段信息ElementMappingCollection。
4.根據權利要求1所述基于ABAC和RBAC的權限控制方法,其特征在于:步驟三,設置權限模型控制條件,對于基于屬性的權限對象,主要根據定義的屬性項信息,設置該屬性項對應的條件表達式;對于基于角色的權限對象,則根據定義的控制信息,定義模型控制的條件信息,包括規則或者枚舉。
5.根據權利要求1所述基于ABAC和RBAC的權限控制方法,其特征在于:步驟四到步驟六所述的權限模型訪問控制的調用、條件解析,其主要的步驟包括以下幾步:
(1)用戶請求對資源進行訪問,觸發了權限模型的控制;
(2)獲取基于屬性權限對象的控制信息ResAttributeRelation,如果該資源不控制屬性權限,則直接跳過屬性權限的控制;如果控制屬性權限,則繼續執行以下步驟;
(3)獲取屬性權限的定義信息AttributePermission,屬性權限的定義信息,包括定義的屬性項類型和屬性項名稱;
(4)獲取屬性權限的控制信息AttributeAssignment,首先獲取上一步定義的屬性項信息,然后根據獲取的屬性項,獲取每個屬性項設置的控制信息;
(5)解析屬相權限的控制信息,根據上一步獲取的控制信息,調用屬性權限解析引擎,將控制信息進行解析,將結果返回;根據返回的布爾結果,如果是FALSE,則拒絕訪問資源對象;如果是TRUE,則繼續執行后面的步驟;
(6)獲取基于角色權限對象控制信息ResourceRelation,如果不存在控制信息,則直接訪問資源對象;如果存在控制信息,則繼續下面的步驟;
(7)獲取基于角色權限對象的定義信息PermissionObject,定義的信息主要包括承載的數據源以及分配結果表設置的信息;
(8)獲取基于角色權限對象的控制信息DataAssignment,根據前面步驟定義的信息,獲取對應的控制信息;
(9)解析基于角色權限對象的控制信息,交給基于角色權限模型解析引擎和數據訪問引擎,對獲取的數據進行條件過濾,然后根據過濾之后的結果,對資源進行訪問。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮通用軟件有限公司,未經浪潮通用軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410447978.2/1.html,轉載請聲明來源鉆瓜專利網。





