功能級權限管理,衆所周知使用RBAC(基於角色的訪問模型)來控制。我建議使用基本RBAC實現權限控制便可,沒有必要使用不少複雜的高級的權限模型。複雜的權限模型,一方面解析起來有難度;另外一方面用戶使用起來難度大,也用很差。spa
數據級權限管理,我建議你們使用Ralasafe訪問控制(數據級權限管理)中間件。Ralasafe使用策略來描述數據級權限,使用圖形化方式對策略進行定製管理。一切都是開放的。中間件
在定製策略的時候,尤爲是用戶分類的時候,基本上全部初學者都把角色概念直接拿進來。直接使用角色來代替用戶分類。通過調查發現,他們是這樣考慮權限需求的:abc角色的人能查詢xyz特徵的數據,abc角色的人能操做xyz特徵的數據。開發
起先,我也納悶。他們的想法怎麼和個人不同的。我感受到不對,但說不上來不對在那裏。後來想清楚了:他們一句話既描述了功能級權限,又描述了數據級權限。咱們應該讓IT開發商來設置數據級權限;功能級權限則應該上線後,由企業方自行設置。權限控制
由此分析,我逐步得出這樣的分離原則:權限
功能級權限用角色來描述;數據級權限,用戶分類來描述。數據