FileIOPermission Clase

Definición

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

public ref class FileIOPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Serializable]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Herencia
FileIOPermission
Atributos
Implementaciones

Comentarios

Caution

La seguridad de acceso al código (CAS) está en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones de CAS y producen errores si se utilizan las API relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.

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

  • Read: acceso de lectura al contenido del archivo o acceso a información sobre el archivo, como su duración o hora de última modificación.

  • Write: escriba acceso al contenido del archivo o acceso para cambiar información sobre el archivo, como su nombre. También permite eliminar y sobrescribir.

  • Append: capacidad de escribir solo al final de un archivo. No hay capacidad para leer.

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

Note

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

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

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 realizar la comprobación en el momento de la creación, se minimiza el impacto en el rendimiento de la comprobación de seguridad. La apertura de un archivo se produce una vez, mientras que la lectura y escritura pueden ocurrir varias veces. Una vez abierto el archivo, no se realizan comprobaciones adicionales. Si el objeto se pasa a un autor de llamada que no es de confianza, se puede usar incorrectamente. Por ejemplo, los identificadores de archivo no deben almacenarse en estáticas globales públicas en las que el código con menos permisos puede acceder a ellos.

FileIOPermissionAccess especifica las acciones que se pueden realizar en el archivo o carpeta. Además, estas acciones se pueden combinar mediante un 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, Read el acceso a C:\folder1\ implica Read el acceso a C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txt, etc.

Note

En las versiones de .NET Framework anteriores a .NET Framework 4, puede usar el método CodeAccessPermission.Deny para evitar el acceso accidental a los recursos del sistema mediante código de confianza. Deny ahora está obsoleto y el acceso a los recursos ahora viene determinado únicamente por el conjunto de permisos concedido para un ensamblado. Para limitar el acceso a los archivos, debe ejecutar código de confianza parcial en un espacio aislado y asignarle permisos solo a los recursos a los que el código puede acceder. Para obtener información sobre cómo ejecutar una aplicación en un espacio aislado, vea Cómo: Ejecutar código de confianza parcial en un espacio aislado.

Constructores

Nombre Description
FileIOPermission(FileIOPermissionAccess, AccessControlActions, String)

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

FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])

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

FileIOPermission(FileIOPermissionAccess, String)

Inicializa una nueva instancia de la FileIOPermission clase con el acceso especificado al archivo o directorio designado.

FileIOPermission(FileIOPermissionAccess, String[])

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

FileIOPermission(PermissionState)

Inicializa una nueva instancia de la FileIOPermission clase con permiso totalmente restringido o sin restricciones, tal como se especifica.

Propiedades

Nombre Description
AllFiles

Obtiene o establece el acceso permitido a todos los archivos.

AllLocalFiles

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

Métodos

Nombre Description
AddPathList(FileIOPermissionAccess, String)

Agrega acceso al archivo o directorio especificados al estado existente del permiso.

AddPathList(FileIOPermissionAccess, String[])

Agrega acceso a los archivos y directorios especificados al estado existente del permiso.

Assert()

Declara que el código de llamada puede tener acceso al recurso protegido por una demanda de permisos a través del código que llama a este método, incluso si a los autores de llamadas superiores de la pila no se les ha concedido permiso para acceder al recurso. El uso Assert() de puede crear problemas de seguridad.

(Heredado de CodeAccessPermission)
Copy()

Crea y devuelve una copia idéntica del permiso actual.

Demand()

Fuerza un SecurityException objeto en tiempo de ejecución si no se han concedido a todos los llamadores más altos de la pila de llamadas el permiso especificado por la instancia actual.

(Heredado de CodeAccessPermission)
Deny()
Obsoletos.

Impide que los autores de llamadas más altos en la pila de llamadas usen el código que llama a este método para acceder al recurso especificado por la instancia actual.

(Heredado de CodeAccessPermission)
Equals(Object)

Determina si el objeto especificado FileIOPermission es igual al objeto actual FileIOPermission.

FromXml(SecurityElement)

Reconstruye un permiso con un estado especificado a partir de una codificación XML.

GetHashCode()

Obtiene un código hash para el FileIOPermission objeto que es adecuado para su uso en algoritmos hash y estructuras de datos, como una tabla hash.

GetPathList(FileIOPermissionAccess)

Obtiene todos los archivos y directorios con el especificado FileIOPermissionAccess.

GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Intersect(IPermission)

Crea y devuelve un permiso que es la intersección del permiso actual y el permiso especificado.

IsSubsetOf(IPermission)

Determina si el permiso actual es un subconjunto del permiso especificado.

IsUnrestricted()

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

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
PermitOnly()

Impide que los autores de llamadas más altos en la pila de llamadas usen el código que llama a este método para acceder a todos los recursos, excepto para el recurso especificado por la instancia actual.

(Heredado de CodeAccessPermission)
SetPathList(FileIOPermissionAccess, String)

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

SetPathList(FileIOPermissionAccess, String[])

Establece el acceso especificado a los archivos y directorios especificados, reemplazando el estado actual del acceso especificado por el nuevo conjunto de rutas de acceso.

ToString()

Crea y devuelve una representación de cadena del objeto de permiso actual.

(Heredado de CodeAccessPermission)
ToXml()

Crea una codificación XML del permiso y su estado actual.

Union(IPermission)

Crea un permiso que es la unión del permiso actual y el permiso especificado.

Se aplica a

Consulte también