Compartir a través de


FileIOPermissionAttribute Clase

Definición

Precaución

Code Access Security is not supported or honored by the runtime.

Permite aplicar acciones de seguridad para FileIOPermission al código mediante seguridad declarativa. Esta clase no se puede heredar.

public ref class FileIOPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
Herencia
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo solicitar FileIOPermission mediante la clase FileIOPermissionAttribute, lo que indica el único permiso que se va a conceder al código.

[FileIOPermissionAttribute(SecurityAction::PermitOnly,ViewAndModify="C:\\example\\sample.txt")]
[FileIOPermissionAttribute(SecurityAction.PermitOnly, ViewAndModify = "C:\\example\\sample.txt")]
<FileIOPermissionAttribute(SecurityAction.PermitOnly, _
ViewAndModify:="C:\example\sample.txt")> Public Class SampleClass

En el ejemplo siguiente se muestra cómo exigir que el código de llamada tenga FileIOPermissionsin restricciones. Normalmente, se realizan demandas en bibliotecas administradas (DLL) para ayudar a proteger métodos o clases del código potencialmente dañino.

[FileIOPermissionAttribute(SecurityAction::Demand,Unrestricted=true)]
[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
<FileIOPermissionAttribute(SecurityAction.Demand, _
 Unrestricted := True)> Public Class SampleClass

Comentarios

Cautela

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 cas y producen errores si se usan las API relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.

Los archivos y directorios se especifican mediante rutas de acceso absolutas. Al acceder a los archivos, se realiza una comprobación de seguridad cuando se crea o se abre el archivo. La comprobación de seguridad no se realiza de nuevo a menos que se cierre y vuelva a abrir el archivo. La comprobación de permisos cuando se obtiene acceso al archivo por primera vez minimiza el impacto de la comprobación de seguridad en el rendimiento de la aplicación, ya que la apertura de un archivo solo se produce una vez, mientras que la lectura y escritura pueden producirse varias veces.

El ámbito de la declaración permitida depende del SecurityAction que se usa.

La información de seguridad declarada por un atributo de seguridad se almacena en los metadatos del destino del atributo y el sistema accede a ella en tiempo de ejecución. Los atributos de seguridad solo se usan para la seguridad declarativa. Para la seguridad imperativa, use la clase de permisos correspondiente.

Cautela

Unrestricted FileIOPermission concede permiso para todas las rutas de acceso dentro de un sistema de archivos, incluidos varios nombres de ruta de acceso que se pueden usar para acceder a un único archivo determinado. Para Deny acceso a un archivo, debe Deny todas las rutas de acceso posibles al archivo. Por ejemplo, si \\server\share está asignado a la unidad de red X, para Deny acceso a \\server\share\file, debe Deny \\server\share\file, X:\file y cualquier otra ruta de acceso que pueda usar para acceder al archivo.

Constructores

FileIOPermissionAttribute(SecurityAction)
Obsoletos.

Inicializa una nueva instancia de la clase FileIOPermissionAttribute con el SecurityActionespecificado.

Propiedades

Action
Obsoletos.

Obtiene o establece una acción de seguridad.

(Heredado de SecurityAttribute)
All
Obsoletos.
Obsoletos.

Obtiene o establece el acceso total para el archivo o directorio especificado por el valor de cadena.

AllFiles
Obsoletos.

Obtiene o establece el acceso permitido a todos los archivos.

AllLocalFiles
Obsoletos.

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

Append
Obsoletos.

Obtiene o establece el acceso anexado para el archivo o directorio especificado por el valor de cadena.

ChangeAccessControl
Obsoletos.

Obtiene o establece el archivo o directorio en el que se puede cambiar la información del control de acceso.

PathDiscovery
Obsoletos.

Obtiene o establece el archivo o directorio en el que se va a conceder la detección de rutas de acceso.

Read
Obsoletos.

Obtiene o establece el acceso de lectura para el archivo o directorio especificado por el valor de cadena.

TypeId
Obsoletos.

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.

(Heredado de Attribute)
Unrestricted
Obsoletos.

Obtiene o establece un valor que indica si se declara el permiso completo (sin restricciones) para el recurso protegido por el atributo.

(Heredado de SecurityAttribute)
ViewAccessControl
Obsoletos.

Obtiene o establece el archivo o directorio en el que se puede ver la información de control de acceso.

ViewAndModify
Obsoletos.

Obtiene o establece el archivo o directorio en el que se pueden ver y modificar los datos del archivo.

Write
Obsoletos.

Obtiene o establece el acceso de escritura para el archivo o directorio especificado por el valor de cadena.

Métodos

CreatePermission()
Obsoletos.

Crea y devuelve un nuevo FileIOPermission.

Equals(Object)
Obsoletos.

Devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
GetHashCode()
Obsoletos.

Devuelve el código hash de esta instancia.

(Heredado de Attribute)
GetType()
Obsoletos.

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsDefaultAttribute()
Obsoletos.

Cuando se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.

(Heredado de Attribute)
Match(Object)
Obsoletos.

Cuando se reemplaza en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.

(Heredado de Attribute)
MemberwiseClone()
Obsoletos.

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()
Obsoletos.

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
Obsoletos.

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.

(Heredado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Obsoletos.

Recupera la información de tipo de un objeto, que se puede usar para obtener la información de tipo de una interfaz.

(Heredado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Obsoletos.

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 o 1).

(Heredado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Obsoletos.

Proporciona acceso a propiedades y métodos expuestos por un objeto .

(Heredado de Attribute)

Se aplica a

Consulte también