Permisos de acceso a código

Los permisos de acceso a código son objetos de permiso que se utilizan para ayudar a proteger recursos y operaciones del uso no autorizado. Constituyen una parte fundamental del mecanismo de Common Language Runtime para exigir restricciones de seguridad en el código administrado.

Cada permiso de acceso a código representa uno de los derechos siguientes:

  • Derecho de acceso a un recurso protegido, como archivos o variables de entorno.

  • Derecho a realizar una operación protegida, como el acceso a código no administrado.

El código puede solicitar o exigir todos los permisos de acceso a código, y el motor en tiempo de ejecución decide qué permisos, si los hay, se le conceden.

Cada permiso de acceso a código se deriva de la clase CodeAccessPermission, lo que significa que todos los permisos de acceso a código tienen métodos en común, como Demand, Assert, Deny, PermitOnly, IsSubsetOf, Intersect y Union.

Importante

En .NET Framework 4, se ha quitado la compatibilidad con el runtime para exigir las solicitudes de permisos Deny, RequestMinimum, RequestOptional y RequestRefuse.Estas solicitudes no deben usarse en código basado en .NET Framework 4 o posterior.Para obtener más información sobre estos y otros cambios, vea Cambios de seguridad en .NET Framework.

.NET Framework proporciona los siguientes permisos de acceso a código.

Nombre de la clase de permiso

Derecho representado

AspNetHostingPermission

Acceso a recursos de entornos hospedados en ASP.NET.

DirectoryServicesPermission

Obtener acceso a las clases System.DirectoryServices.

DnsPermission

Acceso a DNS (Domain Name System).

EnvironmentPermission

Lectura o escritura de variables de entorno.

EventLogPermission

Acceso de lectura o escritura a servicios de registro de eventos.

FileDialogPermission

Acceso a archivos que han sido seleccionados por el usuario en un cuadro de diálogo Abrir.

FileIOPermission

Lectura, anexión o escritura en archivos o directorios.

IsolatedStorageFilePermission

Acceso al almacenamiento aislado, que es aquél que está asociado a un usuario concreto y a algún aspecto de la identidad de código, como su sitio, editor o firma Web.

MessageQueuePermission

Acceso a colas de mensajes a través de interfaces MSMQ (Microsoft Message Queuing) administradas.

OdbcPermission

Acceso a orígenes de datos ODBC.

OleDbPermission

Acceso a bases de datos mediante OLE DB.

OraclePermission

Acceso a una base de datos de Oracle.

PerformanceCounterPermission

Tener acceso a contadores de rendimiento.

PrintingPermission

Acceso a impresoras.

ReflectionPermission

Detección de información sobre un tipo en tiempo de ejecución.

RegistryPermission

Lectura, escritura, creación o eliminación de valores y claves del Registro.

SecurityPermission

Ejecución, aserción de permisos, llamada a código no administrado, comprobación de omisión y otros derechos.

ServiceControllerPermission

Acceso a servicios en ejecución o detenidos.

SocketPermission

Realización o aceptación de conexiones en una dirección de transporte.

SqlClientPermission

Acceso a bases de datos SQL.

UIPermission

Acceso a la funcionalidad de interfaz de usuario.

WebPermission

Realización o aceptación de conexiones en una dirección Web.

Además, .NET Framework proporciona las siguientes clases abstractas que se pueden utilizar para crear permisos personalizados propios.

Nombre de la clase de permiso

Derecho representado

DBDataPermission

Acceso a una base de datos.

IsolatedStoragePermission

Acceso a un almacenamiento aislado.

ResourcePermissionBase

Acceso a recursos del sistema.

Vea también

Referencia

CodeAccessPermission

Conceptos

Permisos de seguridad