[發明專利]基于改進RBAC模型及Spring Security框架的動態權限管理系統有效
| 申請號: | 201811535280.0 | 申請日: | 2018-12-14 |
| 公開(公告)號: | CN109688120B | 公開(公告)日: | 2020-11-03 |
| 發明(設計)人: | 徐新民;韓剛強;吳東宇;尚麗娜 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L29/08;H04L12/24 |
| 代理公司: | 杭州天勤知識產權代理有限公司 33224 | 代理人: | 王琛 |
| 地址: | 310013 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 改進 rbac 模型 spring security 框架 動態 權限 管理 系統 | ||
1.一種基于改進RBAC模型及Spring Security框架的動態權限管理系統,其特征在于:該系統根據實際應用通過對RBAC模型進行改進,抽象出角色概念,針對不同的角色賦予不同的權限;當需要為一個新用戶分配權限時,賦予該新用戶某些角色,使得該新用戶具有相應的權限;
系統根據實際應用對RBAC模型進行改進,主要包括以下三部分:①將RBAC模型中的用戶組模塊和角色模塊進行合并;②將RBAC模型的冗余權限分類進行剪除;③添加用戶額外權限關聯表和用戶屏蔽權限關聯表;其中:
將RBAC模型中的用戶組模塊和角色模塊進行合并,具體地:使用戶到用戶組的多對多關系以及用戶組到角色的多對多關系通過用戶到角色的多對多關系來等價,將用戶組概念去除,保留角色的概念;同時讓角色擁有繼承特性,即父角色擁有子孫角色的權限,一個用戶擁有了父角色,則該用戶不但被賦予了父角色的權限,同時也被賦予了該父角色的子孫角色的權限;
將RBAC模型的冗余權限分類進行剪除,即考慮到現行主流的Spring、Spring MVC、MyBatis三大框架的Web系統中,所有的用戶請求都會通過控制器進行請求分發,因此只需要在控制器層面對網站資源進行管理即可,結合Spring Security框架的資源標注功能,實現動態權限管理;
添加用戶額外權限關聯表和用戶屏蔽權限關聯表,用戶額外權限關聯表和用戶屏蔽權限關聯表分別記錄每個用戶特有的權限和排除的權限;確定用戶最終的權限時,首先獲取用戶所擁有的角色集合,然后將子角色也加入到角色集合中,直到所有的子孫角色都加入到角色集合中;求出角色集合中的角色擁有的權限,并放入權限集合中;將用戶額外權限表中用戶對應的權限加入到權限集合中,將用戶屏蔽權限表中用戶對應的權限從權限集合中去除,最終得到的權限集合就是用戶最終的權限;
所述動態權限管理系統包括:
Spring模塊,其作為整個軟件的容器,用于整合所用到的各個框架,實現依賴反轉,管理整個軟件的框架;
Spring Security模塊,用于標記網站資源,攔截用戶請求,計算用戶權限,決策用戶是否能進行相關操作;
數據庫管理模塊,用于存儲用戶數據、角色數據、權限數據、用戶角色多對多數據、角色權限多對多數據、特殊用戶權限數據,支持存儲數據的增刪查改;
MyBatis模塊,用于管理數據庫,封裝底層數據庫訪問接口,為上層服務提供DAO;
Spring MVC模塊,用于接受用戶請求、請求分發、業務邏輯調用、視圖解析以及請求響應,其為一個網頁開發框架并以MVC的思想架構網頁,使得各層分工明確,各個模塊解耦且內聚;
Web網頁模塊,用于為各個業務提供網頁視圖文件,接受Spring MVC模塊的調用后將Web網頁呈現在用戶面前;
所述Web網頁模塊通過構造生成角色層次樹用以動態生成HTML頁面文件并顯示,其首先需要設計樹的節點類,主要包含兩個屬性:對應的角色信息、擁有的子節點集合;然后使用哈希隊列通過廣度優先搜索算法來構造角色層次樹,具體地:
(1)將根角色對象加入哈希隊列,并使用根角色對象構建角色層次樹的根節點;
(2)循環執行以下操作,直到隊列為空;
2.1從隊列頭部中取出一個元素即一個角色對象;
2.2從數據庫中查找以該角色為父角色的角色集合,并加入到隊尾;
2.3在隊列中查找所取出的角色對象的父對象所在位置,并將該角色加入到其父角色所在節點的子節點集合元素中;
(3)返回角色層次樹的根節點;
最后根據返回的根節點使用深度搜索算法配合JQuery,動態生成HTML代碼,具體實現過程中使用了JQuery的append()方法,根據深度搜索得到的結果,迭代地向ul中添加li節點,進而向li節點中添加子ul列表,同時使用JS和CSS來實現菜單的折疊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811535280.0/1.html,轉載請聲明來源鉆瓜專利網。





