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