設計表:
Users 使用者表 字段:userid,username,userpermission
Roles 角色表
字段:roleid,rolename,rolepermission
UserInRole 使用者角色相應表
字段:userid,roleid
PermissionList 權限清單
字段:permissionid,permissionDescription,permissionGroup
權限設計:許可、禁止和未設定三種狀态,Allow,Deny,Not
Set
目标:
實作使用者權限的定義。
首先定義角色權限,使用者與角色間是多對多的關系。使用者權限繼承自角色權限。
情況一:使用者所屬的多個角色存在權限沖突時,取最小權限,即某權限角色A許可,角色B禁止,則該權限為禁止。
情況二:使用者所屬的角色均未對某權限進行設定時,即NotSet狀态,則該權限同DENY
情況三:使用者所屬的角色對某權限為許可時,也可單獨設定該權限為禁止。
功能:
設定使用者權限:
預設情況下,使用者權限繼承自所屬角色的權限
可單獨設定某使用者的權限
擴充權限
權限定義可随時添加?,并能夠分組。當添加?權限時,預設的角色權限均為未設定狀态