代码访问权限

代码访问权限是用于帮助保护资源和操作不被未经授权地使用的权限对象。 它们是公共语言运行时用来在托管代码上强制安全性限制的机制的基本部分。

每种代码访问权限表示下列权限之一:

  • 访问受保护资源(如文件或环境变量)的权限。

  • 执行受保护操作(如访问非托管代码)的权限。

代码可请求或要求所有代码访问权限,且运行时决定授予代码的权限(若有)。

每种代码访问权限均从 CodeAccessPermission 类派生,这意味着所有代码访问权限都具有一些通用的方法,例如 DemandAssertDenyPermitOnlyIsSubsetOfIntersectUnion

重要

在 .NET Framework 4中,移除了对执行 DenyRequestMinimumRequestOptionalRequestRefuse 权限请求的运行时支持。不应在基于 .NET Framework 4 或更高版本的代码中使用这些请求。有关此更改和其他更改的更多信息,请参见 .NET Framework 中的安全性更改

.NET Framework 提供下列代码访问权限。

权限类名

表示的权限

AspNetHostingPermission

访问 ASP.NET 所寄宿的环境中的资源。

DirectoryServicesPermission

访问 System.DirectoryServices 类。

DnsPermission

对域名系统 (DNS) 的访问权。

EnvironmentPermission

读取或写入环境变量。

EventLogPermission

对事件日志服务的读或写访问权。

FileDialogPermission

访问用户在“打开”对话框中选定的文件。

FileIOPermission

读取、追加或写入文件或目录。

IsolatedStorageFilePermission

访问独立存储,此存储是与特定用户关联和与代码标识的某方面(如其网站、出版商或签名)关联的存储。

MessageQueuePermission

通过托管 Microsoft 消息队列 (MSMQ) 接口访问消息队列。

OdbcPermission

访问 ODBC 数据源。

OleDbPermission

使用 OLE DB 访问数据库。

OraclePermission

访问 Oracle 数据库。

PerformanceCounterPermission

访问性能计数器。

PrintingPermission

访问打印机。

ReflectionPermission

查找某类型的运行时信息。

RegistryPermission

读取、写入、创建或删除注册表键和值。

SecurityPermission

执行、断言权限、调用到非托管代码中、跳过验证以及其他权限。

ServiceControllerPermission

访问正在运行的服务或已停止的服务。

SocketPermission

在传输地址上建立或接受连接。

SqlClientPermission

访问 SQL 数据库。

UIPermission

访问用户界面功能。

WebPermission

在 Web 地址上建立或接受连接。

此外,.NET Framework 提供了下列的抽象类,您可以使用它们创建自己的自定义权限。

权限类名

表示的权限

DBDataPermission

访问数据库。

IsolatedStoragePermission

访问独立存储。

ResourcePermissionBase

访问系统资源。

请参见

参考

CodeAccessPermission

概念

安全权限