基於角色的許可權系統的問題

javett發表於2006-11-07

先來舉個例,拿軍隊中管理機構比作一個複雜的系統,從上到下系統中有司令,軍長,師長,旅長,團長等等,司令擁有最高許可權,比喻可以撤軍長的職,把師長降級為排長,還可以發動戰爭,軍長又可以撤師長及他以下官的職務,並且還可以命令發射核武器,現在把司令,軍長,師長,旅長,團長這些職務作為本系統中的角色,張三扮演司令的角色,王五和李二為軍長,現在張三司令要取消軍長能發射核武器的許可權,他可以直接修改軍長這一角色的許可權即可,那麼要是張三司令只取消李二軍長一個人發射核武器的許可權該怎麼修改他的許可權呢?李二是作為一個角色擔任軍長,所有軍長這一角色擁有的許可權是一至的,那麼要修改某一個軍長的許可權怎麼實現呢?我把這樣稱為分極角色,不知道這樣有沒有問題,自己又感覺這種角色實現好像和基於使用者組的許可權系統差不多,請高手指路。

我另外還有一種實現,把系統中一種操作稱為一個許可權,比喻撤軍長的職,發射核武器,都稱為一個許可權,而一個角色可以擁有一個或多個許可權,一個系統中的使用者都扮演一個角色,現在可以把所有的許可權給一個角色,張三擔任這個角色,那麼我們可以稱他為司令,又把若干個許可權給另外一個角色,把這個角色稱為軍長,王五擔任這個角色,又把同樣的許可權給另外一個角色,也稱他為軍長,只是比王五那個軍長和一個發射核武器的許可權,李二擔任這個角色,這樣就可以實現,但是這樣會導致系統中有N多個角色的問題。請高手指路。

相關文章