趁博客園好用抓緊發表一篇文章,咱們從3個方面來解決權限的數據存儲問題;權限的定義、操做權限的存儲、數據集權限的存儲問題等3個方面來考量。數據庫
1:權限定義表:ide
首先權限的定義須要一個表來存儲,這樣定義權限相對靈活方便無限擴展,前幾篇文章裏也詳細闡述這方面設計的文章,有興趣的能夠參考。spa
2:操做權限的存儲:設計
用戶à擁有某些操做權限博客
角色à擁有某些操做權限it
……class
數據都存儲在一個物理表,能夠用視圖的方式映射出用戶的操做權限、角色的操做權限。擴展
用戶操做權限的存儲視圖權限
角色操做權限的存儲視圖im
這是數據表中的真實數據,是以分類的方式存儲了權限數據,例如User、Role是其中的分類。分類+主鍵 == 定義某個具體的實體,例如用戶、角色等等。
3:數據集權限的存儲:也稱爲範圍權限、記錄權限。
用戶à對某些用戶à擁有某個操做權限
角色à對某些用戶à擁有某個操做權限
用戶à對某些菜單à擁有某個操做權限
角色à對某些菜單à擁有某個操做權限
……
一樣也是用了分類的思想,存儲了各類數據庫權限數據。這樣設計的好處是,權限的邏輯比較複雜、擴展了也沒多大必要修改表結構,以不變應對萬變。缺點就是不夠直觀,不太好理解,有些繞。