數據庫設計系列[04]組織結構加入權限系統


1引言

接着上一篇隨筆“數據庫設計系列[03]權限系統”;在上篇隨筆中,只是簡單地介紹基於角色和操作訪問控制模型,能把權限控制到頁面和按鈕。CDM圖:

2 新的需求:組織結構

比如在一個大型的手機銷售公司有這樣的一種部門崗位結構:

現在有下面的需求

1>要求給用戶分配權限時用蘋果部門經理、諾基亞部門經理…而不是部門經理這樣的崗位;

2>要求統計蘋果部門經理、諾基亞部門經理的銷售業績;

當有上面這些需求時,上篇隨筆中的權限模型就無法滿足需求。

3 加入組織結構后的權限模型

我們先不考慮部門信息,這樣上面的結構圖中就只剩下崗位信息。對這樣的需求建模,第一個反應是將崗位(POST)建成樹形結構。但是這樣一來,蘋果部門經理與諾基亞部門經理就是兩個完全不同的角色與資源實體關聯,並且關聯關系是相同的,這樣就造成數據冗余。如果崗位結構很小,這樣做也未嘗不可。CDM:

這個權限模型與之前的模型並無多大差別,只是將崗位做成了樹形結構,以適應新的需求。

3.2

但是如果組織結構圖很大,崗位實體與崗位權限實體也會變的很大,在配置權限時也會很麻煩。

在組織結構圖中,我們看到蘋果部門經理和諾基亞部門經理所處的崗位級別是一樣的,也就是說它們是部門經理的一個實例。依此類推,**銷售人員是銷售員的實例。所以有一個崗位實例的實體,並且它們有一個子父節的關系。最后,可以將崗位實例分配給用戶。CDM:

PostOrganization:存儲崗位實例的信息,即存儲上面的崗位結構圖。

3.3 加上部門的信息

累了,先直接上圖,不解釋>.<。CDM:

在這個模型中,可以解決這樣的需求:當蘋果部門有新的客戶時,可以郵件通知部門內所有的人。

4 總結

本次,主要討論將組織結構的信息加入到權限系統中。本篇文章僅是拋磚引玉,有什么不對的,不足的,想法片面的地方,還望各位指點指點


免責聲明!

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



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