计算允许的权限集

更新:2007 年 11 月

公共语言运行库通过遍历相关策略级别的代码组层次结构来计算应用程序域和程序集允许的权限集。对于应用程序域,相关的策略级别是企业、计算机和用户三种级别。对于程序集,相关的策略级别是企业、计算机、用户和应用程序域四种级别。

运行库按照下面的步骤来计算允许的权限集:

  1. 对于每个相关的策略级别,运行库均使用证据提供的标识信息来确定代码所属的组。如果代码是一个组的成员,就称该组为匹配项。

    搜索匹配项的过程从“所有代码”组中代码组层次结构的顶部开始。运行库在层次结构中的各个级别进行搜索(如果在某父组中发现了匹配项,则也在子组中进行搜索)。

  2. 标识层次结构中的所有匹配项后,与每个匹配的代码组关联的权限以累加形式组合在一起(联合),从而生成该策略级别允许的权限集。

    如果 Exclusive 属性或 LevelFinal 属性应用于代码组,则运行库采用不同的方式计算允许的权限集。有关详细信息,请参见代码组属性

  3. 然后,运行库重复层次结构搜索,并求出各个策略级别的权限集的交集,来计算应用程序域或程序集允许的权限集。得到的权限集只包含所有策略级别都允许的权限。

下图显示一个代码组层次结构,Microsoft® Money 在该结构中是以下四个代码组的成员:所有代码、Microsoft(发行者)、本地 Internet(区域)和 Microsoft Money(名称)。给定策略级别(计算机、用户或应用程序域)允许的权限集,是这些代码组中的每个代码组所关联的命名权限集的累加组合(联合)。

代码组层次结构

代码组层次结构

请参见

概念

代码组属性

其他资源

安全策略管理