權限設計方案

簡要介紹一下該權限管理系統的特點,該系統功能上做到了靈活授權,操控細緻,權限可以細到按鈕及超鏈級別,而且部署簡單,下面談談我自己的設計經驗。 

該系統主要功能如下: 

1  自定義操作動作(如增加、刪除、修改、審覈等,不再是以前見過的那種粗粒度的

按模塊分配權限,或者稍微先進點的規定死某幾個操作了) 

2  無限級功能模塊管理,自定義模塊排序,可以更好地對整個系統中所有模塊進行

分類管理。 

3  靈活地爲各模塊分配操作,即每個模塊有哪些操作需要被控制(將步驟1中添加的

操作按需分配給各模塊) 

4  對所有用戶基礎信息進行管理,實行有效期機制,過期自動失效,在有效期間亦

可強制停止用戶使用。 

5  自定義角色,可以起個聽起來通俗易懂的名字。 

6  任意角色可任意組合系統權限功能點(比如某個模塊裏他只能修改數據而不能添加

或刪除等其它操作)  

7  一個用戶可有多個角色(多身份),一個角色也可以被多個用戶擁有(同身份)(多對

多),靈活授權。 

8  按角色給用戶授權,當授權對象數量龐大的時候就可大顯身手了(比如給公司全體

員工授權) 

9  按用戶分配角色,當某個用戶以多種身份出現在系統中的時候,希望分配多個角

色。 

10              用戶及角色分級管理,下級用戶只能擁有上級用戶權限的子集,可無限級,

而除了超級管理員外其它用戶都只能看到屬於自己管理範圍內(自己創建的)用戶,也只能分配自己管理範圍內(自己創建)的角色,這樣可以做到各司其職,管理清晰。 

 

從數據庫結構來看,一共設計了七個表(table),表名及功能分別如下: 

1  操作表 

用來存放用戶自定義的各種功能操作,比如新增、修改、刪除等,以前見過的設計是將操作直接放在模塊下面管理,這就導致了常見的操作通常要重複添加N(比如大部分模塊都會有新增修改等操作),如果模塊比較多就顯得非常繁瑣且容易出錯。現在把它放在一個單獨的表裏面進行管理就可以避免這一問題出現,流程也更加清晰。 

2  模塊表 

顧名思義就是將系統中的各模塊進行管理,支持無限級模塊 

3  模塊操作關聯表 

各模塊有什麼樣的操作就在這裏體現,在模塊與操作之間建立起關聯形成權限點,以便給角色授權。 

4  角色表 

對角色基本信息進行管理。用戶可以自定義成各種各樣的角色,比如局長、校長、總經理等。

 5  角色權限表 

將角色與系統中的權限點關聯起來,也就是完成授權的動作。 

6  用戶表 

將用戶的最基本的信息進行管理(在正常的業務系統中可進行擴展用戶信息),比如姓名、有效期等。 

7  用戶角色表 

在用戶與角色之間建立起關聯,給用戶授予哪些角色權限(同一用戶可以有多個角色),也可以按角色添加用戶,比如將“員工”角色授予公司所有人,而不用按用戶一個一個地授權。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章