最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
.NET框架中基于角色的安全性(3)
时间:2022-07-02 10:54:20 编辑:袖梨 来源:一聚教程网
Permissions对象
作为.NET安全性两个重要的分支,基于角色的安全性和代码访问安全都离不开一个重要的概念--权限(permissions)。在基于角色的安全性中,PrincipalPermission类用来检查调用线程的用户身份;而在代码访问安全中,从CodeAccessPermission派生的类则用来检查执行当前方法的所有线程各自的权限。
权限对象通过已有的安全策略来说明操作是否被允许或拒绝。对于代码访问安全权限(不过这不适用于用户权限),.NET CLR提供了堆栈遍历机制来确定所有的调用堆栈帧是否具有应有的权限。需要注意的一点是,如果permission对象为null,那么我们可以将它和PermissionState.None视为等同的,说明没有提供任何权限。权限常用于下面这些场合:
1、定义执行代码所需要的权限。
2、系统的安全策略可以承认或拒绝代码请求的权限。
3、代码通过Demand方法来保证(要求)它调用的代码具有所需的权限。
4、代码还可以使用Assert,Deny或PermitOnly方法来跳过安全堆栈检查机制。
另外,我们还可以使用成组的权限,在PermissionSet类中我们就可以使用各种不同权限组集合。
下面我们还是先来看看最常用到的PrincipalPermission类,至于另外一个常用的CodeAccessPermission类,稍后将会在代码访问安全的内容中详细介绍。
作为PrincipalPermission类实现的三个接口之一,IPermission接口在PrincipalPermission类中有了举足轻重的作用。IPermission接口提供了以下方法:
作为.NET安全性两个重要的分支,基于角色的安全性和代码访问安全都离不开一个重要的概念--权限(permissions)。在基于角色的安全性中,PrincipalPermission类用来检查调用线程的用户身份;而在代码访问安全中,从CodeAccessPermission派生的类则用来检查执行当前方法的所有线程各自的权限。
权限对象通过已有的安全策略来说明操作是否被允许或拒绝。对于代码访问安全权限(不过这不适用于用户权限),.NET CLR提供了堆栈遍历机制来确定所有的调用堆栈帧是否具有应有的权限。需要注意的一点是,如果permission对象为null,那么我们可以将它和PermissionState.None视为等同的,说明没有提供任何权限。权限常用于下面这些场合:
1、定义执行代码所需要的权限。
2、系统的安全策略可以承认或拒绝代码请求的权限。
3、代码通过Demand方法来保证(要求)它调用的代码具有所需的权限。
4、代码还可以使用Assert,Deny或PermitOnly方法来跳过安全堆栈检查机制。
另外,我们还可以使用成组的权限,在PermissionSet类中我们就可以使用各种不同权限组集合。
下面我们还是先来看看最常用到的PrincipalPermission类,至于另外一个常用的CodeAccessPermission类,稍后将会在代码访问安全的内容中详细介绍。
作为PrincipalPermission类实现的三个接口之一,IPermission接口在PrincipalPermission类中有了举足轻重的作用。IPermission接口提供了以下方法:
相关文章
- 《无限暖暖》围巾蚯蚓具体作用介绍 12-24
- 《无限暖暖》星夜守望连衣裙获得方法介绍 12-24
- 《无限暖暖》魔物试炼幻境解锁方法介绍 12-24
- 《无限暖暖》磐岩晶石获得方法介绍 12-24
- 《无限暖暖》巨石岩仔打法攻略分享 12-24
- 《无限暖暖》布布果在哪 12-24