數據庫設計系列[05]多公司加入權限系統


1 引言

先解釋下上一篇部門+權限文章“數據庫設計系列[04]組織結構加入權限系統”最終的結果:

1>     Employee:獨立管理用戶信息;

2>     Dept:獨立管理部門信息;

3>     Post(Role)獨立管理崗位信息;

4>     Resource:獨立管理資源(頁面和按鈕)信息;

5>     Organization:管理部門+崗位實例的樹形實體;

6>     PostPermission:管理崗位的權限,即某個崗位類型對應的頁面即按鈕信息;

7>     EmployeePermission:管理員工的權限,將Organization中的崗位實例分配給員工;

總得來說,還是基於角色操作的訪問控制權限,只不過加上了部門以及部門與崗位的樹形關系。

2 加上多公司的權限模型

公司有總部+分公司,分公司的結構與總公司類似,但也有不同。結構如下:

這個組織機構,並不是正常的公司、部門和崗位之間的一級一級多對多個關系。而是可以崗位下可以有公司,公司下可以直接有崗位,因為並不是所有的部門都需要對應的系統中去的。

加入公司后的權限模型CDM:

1>橙色+黃色的部分是用於權限控制,紅色+黃色的部分是用於做組織結構;

2>Post實體的Type表示某個崗位是總公司的還是子公司的,還是公共的。

3>Organization實體中可以有三種數據:Company、Dept和Post,用type做區分。對應的RefID可以存CompanyID、DeptID和PostID.

3 特殊權限處理問題

在業務系統中,偶爾會有某個部門比其它相同的部分多一些權限。總公司的賬務比分公司的賬務權限大,銷售計算機的總經理比銷售手機的總經理多一些權限。當遇到這種情況時,我們應該怎么辦。

方法一:依然某於角色操作的權限模型,將銷售計算機的總經理和銷售手機的總經理看作兩個不同的崗位類型。兩個崗位類型分別做權限,CDM圖不變。

方法二:基於角色操作+基於角色實例的權限模型。即銷售計算機的總經理和銷售手機的總經理的公共權限做成一個總理的崗位類型,然后,銷售計算機的總經理這一崗位實例直接與Resource關聯,CDM圖如下:

4總結

權限模型就先寫到這,寫這個權限模型一是做個記錄,防止時間長忘了;二是因為每個系統都要有權限控制,而一些人對權限可能還不是很清楚,所以寫出來,標識出一些主要的權限實體,以及常見的關系,以供大家參考。文章中有片面或錯誤的地方,還問各位指出,先謝謝各位了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM