代码组
重要事项 |
---|
在 .NET Framework 4 版中,公共语言运行时 (CLR) 不再为计算机提供安全策略。Microsoft 建议使用 Windows 软件限制策略替代 CLR 安全策略。此主题中的信息适用于 .NET Framework 3.5 和更低版本,不适用于 4 和更高版本。有关此更改和其他更改的更多信息,请参见 .NET Framework 4 中的安全性更改。 |
代码组是代码的逻辑分组,该分组具有指定的成员条件。 所有满足成员条件的代码均包括在该组中。 代码组拥有在策略授予过程中计算的关联的权限集。 管理员通过管理代码组和与它们关联的权限集来配置安全策略。
下表显示 .NET Framework 提供的代码组成员条件。 成员条件以类的形式实现。
成员条件 |
条件基于 |
---|---|
所有代码 |
表示与所有代码匹配的成员条件。 |
应用程序目录 |
应用程序的安装目录。 |
哈希 |
MD5、SHA1 或其他加密哈希。 |
发行者 |
有效的 Authenticode 签名的公钥。 |
站点 |
代码出自的 HTTP 站点、HTTPS 站点和 FTP 站点。 |
强名称 |
加密型强签名。 |
URL |
代码出自的 URL,包括最后面的通配符(例如 http://site/app/*)。 |
区域 |
代码出自的区域。 |
公共语言运行时使用描述代码的标识特征(证据)来确定是否已符合组的成员条件。 例如,如果组的成员条件是“Code from the www.microsoft.com Web site”(www.microsoft.com 网站中的代码),则运行时检查证据以确定代码是否出自 www.microsoft.com。
每个代码组均与一个命名的权限集关联。 代码组还可以具有一些特性,这些特性影响如何使用代码组来定义安全策略。
企业策略级别、计算机策略级别和用户策略级别由代码组构成的层次结构表示。 应用程序域级别无法以管理方式来配置,但它具有可以编程方式设置的由代码组构成的层次结构。 每个层次结构的根都是包含所有代码的组。 “所有代码”组拥有子节点,而这些子节点又有子节点,以此类推。 如果代码是父代码组的成员,则该代码可以是该组的一个或多个子代码组的成员。 如果代码不是父代码组的成员,则它不能是该父代码组以下任何级别的任何代码组的成员。
代码组具有可选的说明特性和名称特性,您可以使用 .NET Framework 配置工具进行查看。