代码访问权限
代码访问权限是用于帮助保护资源和操作不被未经授权地使用的权限对象。 它们是公共语言运行时用来在托管代码上强制安全性限制的机制的基本部分。
每种代码访问权限表示下列权限之一:
访问受保护资源(如文件或环境变量)的权限。
执行受保护操作(如访问非托管代码)的权限。
代码可请求或要求所有代码访问权限,且运行时决定授予代码的权限(若有)。
每种代码访问权限均从 CodeAccessPermission 类派生,这意味着所有代码访问权限都具有一些通用的方法,例如 Demand、Assert、Deny、PermitOnly、IsSubsetOf、Intersect 和 Union。
重要
在 .NET Framework 4中,移除了对执行 Deny、RequestMinimum、RequestOptional 和 RequestRefuse 权限请求的运行时支持。不应在基于 .NET Framework 4 或更高版本的代码中使用这些请求。有关此更改和其他更改的更多信息,请参见 .NET Framework 中的安全性更改。
.NET Framework 提供下列代码访问权限。
权限类名 |
表示的权限 |
---|---|
访问 ASP.NET 所寄宿的环境中的资源。 |
|
访问 System.DirectoryServices 类。 |
|
对域名系统 (DNS) 的访问权。 |
|
读取或写入环境变量。 |
|
对事件日志服务的读或写访问权。 |
|
访问用户在“打开”对话框中选定的文件。 |
|
读取、追加或写入文件或目录。 |
|
访问独立存储,此存储是与特定用户关联和与代码标识的某方面(如其网站、出版商或签名)关联的存储。 |
|
通过托管 Microsoft 消息队列 (MSMQ) 接口访问消息队列。 |
|
访问 ODBC 数据源。 |
|
使用 OLE DB 访问数据库。 |
|
访问 Oracle 数据库。 |
|
访问性能计数器。 |
|
访问打印机。 |
|
查找某类型的运行时信息。 |
|
读取、写入、创建或删除注册表键和值。 |
|
执行、断言权限、调用到非托管代码中、跳过验证以及其他权限。 |
|
访问正在运行的服务或已停止的服务。 |
|
在传输地址上建立或接受连接。 |
|
访问 SQL 数据库。 |
|
访问用户界面功能。 |
|
在 Web 地址上建立或接受连接。 |
此外,.NET Framework 提供了下列的抽象类,您可以使用它们创建自己的自定义权限。
权限类名 |
表示的权限 |
---|---|
访问数据库。 |
|
访问独立存储。 |
|
访问系统资源。 |