安全权限

更新:2007 年 11 月

公共语言运行库允许代码仅执行它有权执行的操作。运行库使用称为权限的对象来实现其在托管代码上强制限制的机制。权限的主要用途如下:

  • 代码可以请求它需要的或者可能用到的权限。.NET Framework 安全系统确定是否遵守这样的请求。仅当代码的证据值得授予这些权限时才遵守请求。代码接收到的权限决不会比当前安全性设置基于请求所允许的权限要多。但会基于请求而授予代码较少的权限。

  • 运行库根据某些条件来授予代码权限,这些条件包括:代码标识的特性、请求的权限和代码的信任程度(由管理员设置的安全策略确定)。有关运行库如何决定授予的权限的更多信息,请参见安全策略权限授予

  • 代码可要求其调用方具有特定权限。如果在代码上设置了对特定权限的请求,则使用此代码的所有代码都必须拥有该权限才能运行。

有三类权限,其中每种都有特定的用途:

  • 代码访问权限,此权限表示对受保护资源的访问权或执行受保护操作的能力。

  • 标识权限,此权限指示代码具有支持特定类型的标识的凭据。

  • 基于角色的安全权限,此权限提供一种机制来确定用户(或代表用户的代理)是具有特定的身份还是指定角色的成员。PrincipalPermission 是唯一一个基于角色的安全权限。

运行库在若干命名空间中提供了内置权限类,还提供了对设计和实现自定义权限类的支持。

请参见

概念

代码访问权限

标识权限

基于角色的安全性权限

其他资源

安全性的基础概念