1、功能權限。比較容易實現。
如果以角色為權限控制核心的話,則應該建立一張以角色--功能(頁面、窗體)為基礎的權限關係表。
2、數據權限。無論從區域還是公司內部結構之關係,都可統一為一棵權限樹,而利用好這棵樹的關鍵是明確其最終葉子在哪裡:
例如:
(1)如果一張訂單屬於一個公司(門市),則門市為葉子(注意些情況不能歸到下單的人,因為廣州的門市賬號應該可以為北京的門市下單,因為客戶打電話到哪個門市下單為未知,總不能拒絕客戶下單請求,讓客戶多次打電話下單)
(2)如果一張單要具體到某個下單人,如主管查看員工下單業績,則要具體到某個下單帳號了。這時下單人則應該為葉子。
如果以角色為權限控制核心的話,則應該建立一張以角色--葉子為基礎的權限關係表。
3、特殊的權限控制:
(1)具體到某數據行的權限控制
A:如果用戶非常多,應該建立一張權限關係表,對應:表名--數據行--角色。
B:如果用戶不多,則為一個字段來存放具有或不具有權限的角色ID
(2)具體到字段的權限控制,同樣要建立一張權限關係表,對應:表名--字段--角色。