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