數據庫設計系列[03]權限系統


1 權限模型中的業務對象及聯系

在權限模型中主要有三個對象員工、崗位(角色)和資源。它們之間的關系為:員工與崗位之間的多對多,崗位與資源也是多對多的關系。即,可以為一位員工分配多個崗位,可以將一個崗位分配給多位員工;可以為一個崗位分配多個資源,也可以將一個崗位分配給多個角色。實體關系圖如下:

2 業務對象聯系的細化

標識上三個對象的關鍵屬性,以及它們之間的聯系,如下圖:

Employee:只管理員工信息,不與角色關聯;

Post:僅管理崗位信息,(如果需要父崗位可以訪問子崗位的資源,可以將崗位表設計成一個樹形結構的數據);

Resource:只單獨管理資源信息,資源包括頁面和按鈕,用TYPE來區別,並且通過PARENTID, LEVELNO, SEQNO將資源設計成樹形的結構;

EmployeePermission:表示Employee有哪些Post;

PostPermission:表示Post有些Resource;

這樣員工、角色和資源就可以單獨的管理,它們之間的關系在另外的表中管理。

3 小結

在上面的模型中,我們僅僅是一種比較簡單的建模。至於其它的一些復雜的需求,我們可以基於這樣的模型進行改進。如當有這樣的需求“要能查看2011-10-10王二擔任的崗位信息“,我們需要將EmployeePermission修改成歷史記錄表,即每一次修改員工的崗位信息時,我們都將它保存下來,但某一時刻我們僅用其中的一條數據。加入ISUSE標識即可。這個其實是一種最簡單的一種權限模型,還沒有加上多公司,部門等需求。對於這些更多的需求,以及現有的權限模型如何演化,我們下次再討論。


免責聲明!

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



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