购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 System.Security.Policy

Policy命名空间集合了Web系统研发中能够用到的安全代码策略,主要包括证据类和策略等级。

1.证据类

证据类是安全策略的输入,成员环境是开关,两者一起创建策略声明并确定授予的权限集。策略等级和代码组是策略层次结构的结构。代码组是规则的封装,它们在策略级别中按层次结构排列。

证据对象实际在运行库内部被分为两个不同的集合,宿主证据集合和程序集证据集合。宿主证据集合是操作系统中已发现的程序集是如何以及从哪里进入相关机器中的证据集合,程序集证据集合是有关如何以及何时被加载到内存的证据集合。

证据可以以任何数据类型的对象,至于哪类证据可以被用于这个扩展的策略系统,没有绝对的限制。即便如此,在许多情况下为了建立信任和通过.NET安全策略系统检查,在程序集中通常使用如下三种类型的证据:

(1)发布者签名。发布者签名作为内嵌的和编译过的元数据集,指出程序集的作者及其可靠性。发布者签名还包含一个数字证书,提供了一个由第三方执行的验证,将进一步确认程序集发布者的可靠性。

(2)强命名。强命名包含在System.Security.Policy.StrongName类中,是一套证据,包括名称、版本号、散列以及公钥。

(3)散列。散列包含在System.Security.Policy.Hash类中,本质上是为程序集指定的一个唯一数字标识。散列是一个有用的工具,作为和程序集关联的数值,直接和文件名关联。

2.策略级别

在.NET中使用了4种策略级别。它们用于确定一个合适的权限,指定给特定的程序集。这4种策略分别是Enterprise、Machine、User、AppDomain。

策略级别Enterprise表示Intranet中安装活动目录(Active Directory,AD)的机器。Enterprise级策略是最顶层的策略级别,并且会取代在Machine和User策略级别中建立的策略设置。在服务器上定义策略的实际策略文件位于X:\WINDOWS\Microsoft.NET\Framework\vXXXX\config\enterprisesec.config。

每个策略都包含代码组、策略程序集和权限集。代码组根据完整的访问控制配置,为.NET程序集提供安全支持。代码组定义为满足特定成员条件的权限集合。如果成员条件不符合,那么代码组就不会为程序集授权。每个代码组都配置一个策略声明,用于解释为其配置了哪些权限集。

用于.NET程序集部署的配置工具通常是.NET配置工具(mscorecfg.msc)。如果需要调出安全配置工具,需要启动.NET命令窗口,并输入Mscorcfg.msc。也可以从命令提示窗口输入完整版本路径:%Systemroot%\Microsoft.NET\Framework\version Number\Mscorcfg.msc。假如基于.NET 3.5配置Web开发工具,则需要下载SDK(Windows Software Development Kit)。

为了更加清晰的描述该安全策略空间下的功能类,特列出主要策略类,如表2-4所示。

表2-4 主要策略类

续表

续表 dE2e5m9HM7ilgod+5ad05uHlLiWl9+UEqmSjgDbQ66eNq574E+6exu2BFESx5eLd

点击中间区域
呼出菜单
上一章
目录
下一章
×