Ejemplo Code Access Security Technology

Actualización: noviembre 2007

Este ejemplo muestra la seguridad de acceso a código, un mecanismo que concede o deniega el acceso a los recursos durante una llamada a un método. Por ejemplo, el código escrito por Microsoft puede tener permiso para escribir en el disco, mientras que el código de otra compañía puede tener prohibido el acceso a éste. Este control se aplica aunque el código de ambas compañías se utilice dentro de la misma aplicación. En este ejemplo se intenta reiteradamente tener acceso a un archivo del disco y a una variable de entorno. Antes de cada intento, se cambian los permisos de acceso al código para ver el efecto. Para obtener más información sobre la seguridad de acceso a código, lea los comentarios de los archivos de código fuente.

Para obtener información sobre el uso de los ejemplos, consulte los temas siguientes:

Download sample

Para generar el ejemplo desde el símbolo del sistema

  1. Navegue hasta uno de los subdirectorios específicos de un lenguaje bajo el directorio CAS, desde el símbolo del sistema.

  2. Escriba msbuild PermissionsCS.sln o msbuild.exe PermissionsVB.sln, dependiendo del lenguaje de programación elegido. Por ejemplo, en el directorio C:\Documents and Settings\nombre de usuario\Mis documentos\Samples\Technologies\CAS\VB, escriba msbuild.exe PermissionsVB.sln en la línea de comandos para generar la versión de Visual Basic.

Para generar el ejemplo mediante Visual Studio

  1. Abra el Explorador de Windows y navegue hasta uno de los subdirectorios específicos de un lenguaje bajo el directorio CAS.

  2. Haga doble clic en el icono de PermissionsCS.sln o PermssionsVB.sln, dependiendo del lenguaje de programación elegido, para abrir el archivo en Visual Studio 2005.

  3. En el menú Generar, haga clic en Generar solución.

La aplicación de ejemplo se generará en el subdirectorio predeterminado \bin o \bin\Debug.

Para ejecutar el ejemplo

  1. En la ventana del símbolo del sistema, navegue hasta el directorio que contiene el nuevo archivo ejecutable.

  2. Escriba Permissions.exe en la línea de comandos.

Nota:

Este ejemplo genera una aplicación de consola. Para poder ver el resultado, debe iniciarla y ejecutarla en la ventana del símbolo del sistema.

Requisitos

Versión de .NET Framework: 1.1, 2.0

Comentarios

En este ejemplo se utilizan las tecnologías y las clases siguientes:

  • Seguridad

    • PermissionSet Administra un conjunto de permisos, además de declarar (Assert) y denegar (Deny) el permiso en la pila.

    • CodeAccessPermission Se emplea para sus métodos estáticos RevertDeny y RevertAssert, que revierten los efectos de las funciones Assert y Deny.

    • FileIOPermission Administra el permiso para presentar solicitudes del sistema de archivos, como leer y escribir.

    • EnvironmentPermission Administra el permiso para tener acceso a las variables de entorno.

  • E/S

    • FileStream Abre, escribe y lee los archivos del ejemplo.

    • Path Obtiene la ruta de acceso completa de un archivo. Esto cobra especial importancia al operar con FileIOPermission, ya que el sistema basa la seguridad en la ruta de acceso completa de un archivo.

  • Variables de entorno

    • Environment Lee las variables de entorno del proceso.

Vea también

Referencia

CodeAccessPermission

Environment

EnvironmentPermission

FileIOPermission

FileStream

Path

PermissionSet

System.IO

System.Security.Permissions

Otros recursos

Seguridad de acceso a código

E/S de archivos y secuencias

Conceptos clave de seguridad