系统⽤户权限与⾓⾊分析
⼀、术语说明:
1.⽤户与⾓⾊:
⽤户与⾓⾊是使⽤权限的基本单位,⾓⾊是⼀组具有相同限限的⽤户变集。
⽤户与⽤户之间不存在相互⾪属关系,它只能属于某个⾓⾊,⾓⾊可以⾪属于其它⾓⾊,且可以为多重⾪属关系。
2.应⽤模块
应⽤模块通常是指某个页⾯(在WEB中)如统计报表页⾯,⽤户信息页⾯等等。
3.操作
即指在应⽤模块中对某个功能是否具有访问权限。如⽤户信息页⾯的修改功能,删除功能等等
4.授权
指⽤户⾓⾊能对哪个应⽤模块中的某个功能是否具有执⾏许可。这⾥执⾏的许可指的是授权的三种状态:授予、拒绝、继承。授予:⽤户⾓⾊对应⽤模块的某项操作具有执⾏权⼒。
拒绝:⽤户⾓⾊对应⽤模块的某项操作不具有执⾏权⼒。
继承:⽤户⾓⾊对应⽤模块的某项操作是否具有执⾏权⼒取决于它的⽗⾓⾊是否对该应⽤模块的指定操作的执⾏权⼒。记住我
⼆、对⽤的E-R图
三、下⾯我们来写⼀个类来获取⽤户是否对应⽤模块或某项操作具有执⾏能⼒。
類名Roles
CreateRole創建⼀個新的⾓⾊
DeleteRole刪除⾓⾊
AddUserToRole將⽤⼾添加到⾓⾊
RemoveUserFromRole將⽤⼾從⾓⾊中移除
IsUserInRole判斷⽤⼾是否在⾓⾊中
RoleExists判斷⾓⾊是否存在
GetPowerForRole獲得⾓⾊的許可權
IsRoleInPower判斷指定的⾓⾊是否存在相應
的許可權
if(Roles.IsRoleInPower(“⽤户”,”应⽤模块或操作”))
{
Alert(“可以执⾏该应⽤模块或操作”);
}
else
{
Alert(“⽆权执⾏该应⽤模块或操作”);
}