Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase FileIOPermission

 

Publicado: octubre de 2016

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

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

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

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

NombreDescripción
System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, AccessControlActions, String)

Inicializa una nueva instancia de la clase FileIOPermission con el acceso especificado al archivo o directorio designado y los derechos de acceso especificados para la información de control de archivos.

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])

Inicializa una nueva instancia de la clase FileIOPermission con el acceso especificado a los archivos y directorios designados y los derechos de acceso especificados para la información de control de archivos.

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, String)

Inicializa una nueva instancia de la clase FileIOPermission con el acceso especificado a los archivos o directorios designados.

System_CAPS_pubmethodFileIOPermission(FileIOPermissionAccess, String[])

Inicializa una nueva instancia de la clase FileIOPermission con el acceso especificado a los archivos y directorios designados.

System_CAPS_pubmethodFileIOPermission(PermissionState)

Inicializa una nueva instancia de la FileIOPermission clase con permisos totalmente limitados o ilimitados según lo especificado.

NombreDescripción
System_CAPS_pubpropertyAllFiles

Obtiene o establece el acceso permitido a todos los archivos.

System_CAPS_pubpropertyAllLocalFiles

Obtiene o establece el acceso permitido a todos los archivos locales.

NombreDescripción
System_CAPS_pubmethodAddPathList(FileIOPermissionAccess, String)

Agrega acceso para el archivo o directorio especificado en el estado existente del permiso.

System_CAPS_pubmethodAddPathList(FileIOPermissionAccess, String[])

Agrega acceso para los archivos y directorios especificados en el estado existente del permiso.

System_CAPS_pubmethodAssert()

Declara que el código de llamada puede tener acceso al recurso protegido por una demanda de permiso a través del código que llama a este método, incluso si los autores de la llamada situados en una posición más alta de la pila no tienen permiso para tener acceso al recurso. El uso de Assert puede crear problemas de seguridad.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodCopy()

Crea y devuelve una copia idéntica del permiso actual.(Invalida CodeAccessPermission.Copy()).

System_CAPS_pubmethodDemand()

Fuerza a un SecurityException en tiempo de ejecución si todos los autores de llamada situados en la parte superior de la pila de llamadas no disponen del permiso especificado por la instancia actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodDeny()

Obsoleto. Impide que los autores de la llamada situados en la posición más alta de la pila de llamadas usen el código que llama a este método para tener acceso al recurso especificado por la instancia actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodEquals(Object)

Determina si el objeto FileIOPermission especificado es igual al objeto FileIOPermission actual.(Invalida CodeAccessPermission.Equals(Object)).

System_CAPS_pubmethodFromXml(SecurityElement)

Reconstruye un permiso con un estado especificado a partir de una codificación XML.(Invalida CodeAccessPermission.FromXml(SecurityElement)).

System_CAPS_pubmethodGetHashCode()

Obtiene un código hash para el objeto FileIOPermission que es adecuado para usarlo en algoritmos hash y las estructuras de datos, como una tabla hash.(Invalida CodeAccessPermission.GetHashCode()).

System_CAPS_pubmethodGetPathList(FileIOPermissionAccess)

Obtiene todos los archivos y directorios con el FileIOPermissionAccess especificado.

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIntersect(IPermission)

Crea y devuelve un permiso que es la intersección del permiso actual y el permiso especificado.(Invalida CodeAccessPermission.Intersect(IPermission)).

System_CAPS_pubmethodIsSubsetOf(IPermission)

Determina si el permiso actual es un subconjunto del permiso especificado.(Invalida CodeAccessPermission.IsSubsetOf(IPermission)).

System_CAPS_pubmethodIsUnrestricted()

Devuelve un valor que indica si el permiso actual no está restringido.

System_CAPS_pubmethodPermitOnly()

Impide que los llamadores situados más arriba en la pila de llamadas usen el código que llama a este método para tener acceso a todos los recursos excepto al recurso especificado por la instancia actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodSetPathList(FileIOPermissionAccess, String)

Establece el acceso especificado al archivo o directorio especificado, reemplazando el estado existente del permiso.

System_CAPS_pubmethodSetPathList(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.

System_CAPS_pubmethodToString()

Crea y devuelve una representación de cadena del objeto de permiso actual.(Heredado de CodeAccessPermission).

System_CAPS_pubmethodToXml()

Crea una codificación XML del permiso y su estado actual.(Invalida CodeAccessPermission.ToXml()).

System_CAPS_pubmethodUnion(IPermission)

Crea un permiso que es la unión del permiso actual y el permiso especificado.(Invalida CodeAccessPermission.Union(IPermission)).

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

  • Read: Acceso de lectura al contenido del archivo o acceso a la información sobre el archivo, por ejemplo, su longitud o la hora de última modificación.

  • Write: Acceso de escritura al contenido del archivo o de acceso para cambiar la información acerca del archivo, como su nombre. También permite la eliminación y la sobrescritura.

  • Append: Capacidad para escribir en el final de un archivo sólo. Sin la posibilidad de leer.

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

System_CAPS_noteNota

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

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

FileIOPermission Describe las operaciones protegidas en archivos y carpetas. La File clase ayuda a proporcionar acceso seguro a archivos y carpetas. La comprobación de acceso de seguridad se realiza cuando se crea el identificador del archivo. Al hacer la comprobación en tiempo de creación, se minimiza el impacto de rendimiento de la comprobación de seguridad. Abrir un archivo sucede una vez, mientras que la lectura y escritura pueden producirse varias veces. Una vez que se abre el archivo, no se realizan comprobaciones. Si el objeto se pasa a un llamador de confianza, puede ser un uso indebido. Por ejemplo, identificadores de archivo no deben almacenarse en variables estáticas globales públicas, donde el código con menos permisos puede tener acceso a ellos.

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

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

System_CAPS_noteNota

En las versiones de .NET Framework anteriores a la .NET Framework 4, podría usar la CodeAccessPermission.Deny método para evitar accesos inadvertidos a recursos del sistema por código de confianza. Deny Ahora está obsoleto, y acceso a los recursos ahora sólo viene determinado por lo permisos concedidos para un ensamblado. Para limitar el acceso a los archivos, debe ejecutar código de confianza parcial en un recinto y asignar permisos sólo a los recursos que puede tener acceso el código. Para obtener información acerca de cómo ejecutar una aplicación en un espacio aislado, consulte How to: Run Partially Trusted Code in a Sandbox.

Los ejemplos siguientes muestran código que utiliza FileIOPermission. Después de las siguientes dos líneas de código, el objeto f representa el permiso para leer todos los archivos en el cliente discos locales del equipo. El ejemplo de código, a continuación, 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 describió anteriormente. Después de crear el permiso, el código solicita permiso para determinar si la aplicación tiene permiso para 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
Disponible desde 1.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: