1 權限模型中的業務對象及聯系
在權限模型中主要有三個對象員工、崗位(角色)和資源。它們之間的關系為:員工與崗位之間的多對多,崗位與資源也是多對多的關系。即,可以為一位員工分配多個崗位,可以將一個崗位分配給多位員工;可以為一個崗位分配多個資源,也可以將一個崗位分配給多個角色。實體關系圖如下:
2 業務對象聯系的細化
標識上三個對象的關鍵屬性,以及它們之間的聯系,如下圖:
Employee:只管理員工信息,不與角色關聯;
Post:僅管理崗位信息,(如果需要父崗位可以訪問子崗位的資源,可以將崗位表設計成一個樹形結構的數據);
Resource:只單獨管理資源信息,資源包括頁面和按鈕,用TYPE來區別,並且通過PARENTID, LEVELNO, SEQNO將資源設計成樹形的結構;
EmployeePermission:表示Employee有哪些Post;
PostPermission:表示Post有些Resource;
這樣員工、角色和資源就可以單獨的管理,它們之間的關系在另外的表中管理。
3 小結
在上面的模型中,我們僅僅是一種比較簡單的建模。至於其它的一些復雜的需求,我們可以基於這樣的模型進行改進。如當有這樣的需求“要能查看2011-10-10王二擔任的崗位信息“,我們需要將EmployeePermission修改成歷史記錄表,即每一次修改員工的崗位信息時,我們都將它保存下來,但某一時刻我們僅用其中的一條數據。加入ISUSE標識即可。這個其實是一種最簡單的一種權限模型,還沒有加上多公司,部門等需求。對於這些更多的需求,以及現有的權限模型如何演化,我們下次再討論。