¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
FileIOPermission (Clase)
Collapse the table of content
Expand the table of content
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

FileIOPermission (Clase)

Controla la capacidad de acceso a archivos y carpetas. Esta clase no puede heredarse.

System.Object
  System.Security.CodeAccessPermission
    System.Security.Permissions.FileIOPermission

Espacio de nombres:  System.Security.Permissions
Ensamblado:  mscorlib (en mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class FileIOPermission : CodeAccessPermission, 
	IUnrestrictedPermission

El tipo FileIOPermission expone los siguientes miembros.

  NombreDescripción
Método públicoFileIOPermission(PermissionState)Inicializa una nueva instancia de la clase FileIOPermission con permisos totalmente limitados o ilimitados, según se haya especificado.
Método públicoFileIOPermission(FileIOPermissionAccess, String)Inicializa una nueva instancia de la clase FileIOPermission con el acceso especificado al archivo o directorio designado.
Método públicoFileIOPermission(FileIOPermissionAccess, String[])Inicializa una nueva instancia de la clase FileIOPermission con el acceso especificado a los archivos y directorios designados.
Método públicoFileIOPermission(FileIOPermissionAccess, AccessControlActions, String)Inicializa una nueva instancia de la clase FileIOPermission con el acceso especificado al archivo designado o directorio y los derechos de acceso especificados para la información de control de archivos.
Método públicoFileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])Inicializa una nueva instancia de la clase FileIOPermission con el acceso especificado al archivo o los directorios designados y los derechos de acceso especificados para la información de control de archivos.
Arriba

  NombreDescripción
Propiedad públicaAllFilesObtiene o establece el acceso permitido a todos los archivos.
Propiedad públicaAllLocalFilesObtiene o establece el acceso permitido a todos los archivos locales.
Arriba

  NombreDescripción
Método públicoAddPathList(FileIOPermissionAccess, String)Agrega acceso al estado existente del permiso para el archivo o directorio especificado.
Método públicoAddPathList(FileIOPermissionAccess, String[])Agrega acceso al estado existente del permiso para los archivos y directorios especificados.
Método públicoAssertDeclara que el código de llamada puede tener acceso al recurso protegido mediante una petición de permiso a través del código que llama a este método, aunque los llamadores que se encuentran en una posición superior de la pila no dispongan de permiso de acceso al recurso. La utilización de Assert puede crear problemas de seguridad. (Se hereda de CodeAccessPermission).
Método públicoCopyCrea y devuelve una copia idéntica del permiso actual. (Invalida a CodeAccessPermission.Copy()).
Método públicoDemandFuerza SecurityException en tiempo de ejecución si todos los llamadores situados en la pila de llamadas no disponen del permiso especificado por la instancia actual. (Se hereda de CodeAccessPermission).
Método públicoDeny Obsoleta. Evita que los llamadores situados en la parte superior de la pila de llamadas utilicen el código que llama a este método para obtener acceso al recurso especificado por la instancia actual. (Se hereda de CodeAccessPermission).
Método públicoEqualsDetermina si el objeto FileIOPermission especificado es igual al objeto FileIOPermission actual. (Invalida a CodeAccessPermission.Equals(Object)).
Método públicoFromXmlReconstruye un permiso con un estado especificado a partir de codificación XML. (Invalida a CodeAccessPermission.FromXml(SecurityElement)).
Método públicoGetHashCodeObtiene un código hash para el objeto FileIOPermission de modo que se pueda usar en algoritmos hash y estructuras de datos tales como tablas hash. (Invalida a CodeAccessPermission.GetHashCode()).
Método públicoGetPathListObtiene todos los archivos y directorios que dispongan del FileIOPermissionAccess especificado.
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoIntersectCrea y devuelve un permiso que es la intersección entre el permiso actual y el permiso especificado. (Invalida a CodeAccessPermission.Intersect(IPermission)).
Método públicoIsSubsetOfDetermina si el permiso actual es un subconjunto del permiso especificado. (Invalida a CodeAccessPermission.IsSubsetOf(IPermission)).
Método públicoIsUnrestrictedDevuelve un valor que indica si el permiso actual no tiene restricciones.
Método públicoPermitOnlyEvita que los llamadores situados en la parte superior de la pila de llamadas utilicen el código que llama a este método para obtener acceso a todos los recursos con la excepción del recurso especificado por la instancia actual. (Se hereda de CodeAccessPermission).
Método públicoSetPathList(FileIOPermissionAccess, String)Establece el acceso especificado al archivo o directorio especificado, reemplazando el estado existente del permiso.
Método públicoSetPathList(FileIOPermissionAccess, String[])Establece el acceso especificado a los archivos y directorios especificados, reemplazando el estado actual para el acceso especificado con el nuevo conjunto de rutas de acceso.
Método públicoToStringCrea y devuelve una cadena que representa el objeto de permiso actual. (Se hereda de CodeAccessPermission).
Método públicoToXmlCrea una codificación XML del permiso y de su estado actual. (Invalida a CodeAccessPermission.ToXml()).
Método públicoUnionCrea un permiso que es la unión del permiso actual y el permiso especificado. (Invalida a CodeAccessPermission.Union(IPermission)).
Arriba

Este permiso distingue entre los siguientes cuatro tipos de acceso de E/S proporcionados por FileIOPermissionAccess:

  • Read : acceso de lectura al contenido del archivo o acceso a la información relativa al mismo, por ejemplo, su longitud o la hora en que se modificó por última vez.

  • Write : acceso de escritura al contenido del archivo o acceso a la modificación de información relativa al mismo, como por ejemplo su nombre. También permite la eliminación y la sobrescritura.

  • Append : capacidad para escribir sólo al final de un archivo. Sin capacidad de lectura.

  • PathDiscovery : acceso a la información de la propia ruta. De esta forma, se ayuda a proteger la información confidencial de la ruta de acceso, como los nombres de usuario, así como la información sobre la estructura de directorios que aparece en la ruta. Este valor no concede acceso a los archivos o las carpetas que representa la ruta de acceso.

NotaNota

Dar acceso Write a un ensamblado es similar a concederle plena confianza. Si una aplicación no debe escribir en el sistema de archivos, no debería tener el acceso Write.

Todos estos permisos son independientes, lo que significa que los derechos para uno no implican derechos para otro. Por ejemplo, el permiso Write no implica el permiso Read ni Append. Si se desea más de un permiso, éstos se pueden combinar a través de la operación OR bit a bit, como se muestra en el siguiente ejemplo de código. Los permisos de acceso a archivos se definen en términos de rutas de acceso absolutas canónicas; las llamadas siempre se deben realizar con rutas canónicas de acceso a archivos.

FileIOPermission describe las operaciones protegidas en archivos y carpetas. La clase File ayuda a proporcionar acceso seguro a archivos y carpetas. La comprobación de acceso de seguridad se realiza al crear el identificador para el archivo. Al hacer la comprobación en el momento de la creación, se minimiza el efecto que la comprobación de seguridad tiene sobre el rendimiento. La apertura de un archivo sucede una vez, mientras que la lectura y la escritura pueden producirse varias veces. Una vez que el archivo está abierto, no se hace ninguna comprobación más. Si el objeto se pasa a un llamador que no es de confianza puede producirse un uso indebido. Por ejemplo, los identificadores de archivo no deben almacenarse en variables estáticas globales públicas, donde el código con menos permisos pueda tener acceso a ellos.

FileIOPermissionAccess especifica las acciones que pueden realizarse en el archivo o carpeta. Además, estas acciones pueden combinarse mediante una operación OR bit a bit para formar instancias complejas.

El acceso a una carpeta implica el acceso a todos los archivos que contiene, así como el acceso a todos los archivos y carpetas de sus subcarpetas. Por ejemplo, el acceso Read a C:\folder1\ implica el acceso Read a C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txt y así sucesivamente.

NotaNota

En las versiones de .NET Framework anteriores a .NET Framework 4, se podía usar el método CodeAccessPermission.Deny para evitar el acceso inadvertido a los recursos del sistema a través de un código de confianza. Ahora Deny está obsoleto y el conjunto de permisos concedidos determina ahora solamente el acceso a los recursos para un ensamblado. Para limitar el acceso a los archivos, debe ejecutar el código de confianza parcial en un espacio aislado y asignarle únicamente permisos a los recursos a los que el código puede tener acceso. Para obtener más información sobre cómo ejecutar aplicaciones en un espacio aislado, vea Cómo: Ejecutar código de confianza parcial en un recinto.

Los ejemplos siguientes muestran el código que utiliza FileIOPermission. Después de las dos siguientes líneas de código, el objeto f representa el permiso para leer todos los archivos ubicados en los discos locales del equipo cliente. A continuación, en el ejemplo de código se solicita el permiso para determinar si la aplicación tiene permiso para leer los archivos.


            FileIOPermission f = new FileIOPermission(PermissionState.None);
            f.AllLocalFiles = FileIOPermissionAccess.Read;
            try
            {
                f.Demand();
            }
            catch (SecurityException s)
            {
                Console.WriteLine(s.Message);
            }



Después de las siguientes dos líneas de código, el objeto f2 representa los permisos para leer C:\test_r, y leer y escribir en C:\example\out.txt. Read y Write representan los permisos de archivo o carpeta como se ha descrito previamente. Después de crear el permiso, el código lo solicita para determinar si la aplicación tiene derecho a leer y escribir en el archivo.


FileIOPermission f2 = new FileIOPermission(FileIOPermissionAccess.Read, "C:\\test_r");
f2.AddPathList(FileIOPermissionAccess.Write | FileIOPermissionAccess.Read, "C:\\example\\out.txt");
try
{
    f2.Demand();
}
catch (SecurityException s)
{
    Console.WriteLine(s.Message);
}


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft