權限設計中的數據靈活存儲設計策略參考[以不變應萬變]

趁博客園好用抓緊發表一篇文章,咱們從3個方面來解決權限的數據存儲問題;權限的定義、操做權限的存儲、數據集權限的存儲問題等3個方面來考量。數據庫

1:權限定義表:ide

首先權限的定義須要一個表來存儲,這樣定義權限相對靈活方便無限擴展,前幾篇文章裏也詳細闡述這方面設計的文章,有興趣的能夠參考。spa


2:操做權限的存儲:設計


用戶à擁有某些操做權限博客

角色à擁有某些操做權限it

……class

數據都存儲在一個物理表,能夠用視圖的方式映射出用戶的操做權限、角色的操做權限。擴展

用戶操做權限的存儲視圖權限

角色操做權限的存儲視圖im

這是數據表中的真實數據,是以分類的方式存儲了權限數據,例如UserRole是其中的分類。分類+主鍵 == 定義某個具體的實體,例如用戶、角色等等。



3:數據集權限的存儲:也稱爲範圍權限、記錄權限。


用戶à對某些用戶à擁有某個操做權限

角色à對某些用戶à擁有某個操做權限

用戶à對某些菜單à擁有某個操做權限

角色à對某些菜單à擁有某個操做權限

   ……

  一樣也是用了分類的思想,存儲了各類數據庫權限數據。這樣設計的好處是,權限的邏輯比較複雜、擴展了也沒多大必要修改表結構,以不變應對萬變。缺點就是不夠直觀,不太好理解,有些繞。

相關文章
相關標籤/搜索