安全策略级别

重要说明重要事项

在 .NET Framework 4 版中,公共语言运行时 (CLR) 不再为计算机提供安全策略。Microsoft 建议使用 Windows 软件限制策略替代 CLR 安全策略。此主题中的信息适用于 .NET Framework 3.5 和更低版本,不适用于 4 和更高版本。有关此更改和其他更改的更多信息,请参见 .NET Framework 4 中的安全性更改

.NET Framework 提供四种安全策略级别来计算程序集或应用程序域的权限授予。 每个级别均包含自己的代码组层次结构和权限集。 在计算允许的权限集时,运行时求出在各个级别授予程序集的权限集的交集。 所得到的授予权限是策略授予中所有参与级别允许的权限的总和。

下表描述 .NET Framework 安全性提供的四种安全策略级别。

策略类型

指定方

适用对象

企业级策略

管理员

在其中分发企业配置文件的企业设置中的所有托管代码。

计算机策略

管理员

计算机上的所有托管代码。

用户策略

管理员或用户

当公共语言运行时启动时,与当前操作系统用户关联的所有进程中的代码。

应用程序域策略

应用程序域宿主代码

宿主的应用程序域中的托管代码。

策略级别是这样一个层次结构:企业级策略在顶部,其下是计算机策略,再往下是用户策略,最下面是应用程序域策略。 在计算权限授予时,运行时从该层次结构的顶部开始,然后向下进行计算。 较低的策略级别不能对在较高级别上授予的权限进行增加,但是可以使权限减少。 默认情况下,用户策略和应用程序域策略的限制性小于计算机策略和企业级策略。 大部分默认策略存在于计算机级别。 有关默认安全设置的更多信息,请参见默认安全策略

向程序集授予权限时,运行时将所有现有策略(企业级、计算机、用户和应用程序域)的要求和程序集的请求的权限一起考虑。

向应用程序域授予权限时,运行时使用企业级策略、计算机策略和用户策略。

请参见

概念

权限授予

默认安全策略

其他资源

安全策略管理