FileIOPermissionAttribute Clase

Definición

Precaución

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

Permite acciones de seguridad de FileIOPermission para que se apliquen al código mediante seguridad declarativa. Esta clase no puede heredarse.

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)]
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}")]
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)>]
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.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
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
Herencia
Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo solicitar FileIOPermission mediante la FileIOPermissionAttribute clase , 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 un restringido FileIOPermission. Normalmente, realiza demandas en bibliotecas administradas (DLL) para ayudar a proteger métodos o clases frente a código potencialmente dañino.

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

Comentarios

Precaución

La seguridad de acceso del código (CAS) ha quedado en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones de CAS y generan errores si se usan 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 accede por primera vez al archivo minimiza el impacto de la comprobación de seguridad en el rendimiento de la aplicación porque abrir un archivo solo se produce una vez, mientras que la lectura y la escritura pueden ocurrir varias veces.

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

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.

Precaución

UnrestrictedFileIOPermission concede permiso para todas las rutas de acceso 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 acceder a un archivo, debe Deny realizar todas las rutas de acceso posibles al archivo. Por ejemplo, si \\server\share está asignado a la unidad de red X, para Deny acceder a \\server\share\file, debe Deny \\server\share\file, X:\file y cualquier otra ruta de acceso que pueda usar para tener acceso al archivo.

Constructores

FileIOPermissionAttribute(SecurityAction)
Obsoletos.

Inicializa una nueva instancia de la clase FileIOPermissionAttribute con el objeto SecurityAction especificado.

Propiedades

Action
Obsoletos.

Obtiene o establece una acción de seguridad.

(Heredado de SecurityAttribute)
All
Obsoletos.
Obsoletos.
Obsoletos.

Obtiene o establece acceso completo para el archivo o directorio que especifica el valor de la 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 acceso de anexión para el archivo o directorio que especifica el valor de la cadena.

ChangeAccessControl
Obsoletos.

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

PathDiscovery
Obsoletos.

Obtiene o establece el archivo o directorio al que se concede permiso de descubrimiento de ruta.

Read
Obsoletos.

Obtiene o establece 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) al 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 datos de archivo.

Write
Obsoletos.

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

Métodos

CreatePermission()
Obsoletos.

Crea y devuelve un nuevo objeto FileIOPermission.

Equals(Object)
Obsoletos.

Devuelve un valor que indica si esta instancia es igual que 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.

Si 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 invalida 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 Object actual.

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

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos 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 ó 1).

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

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

(Heredado de Attribute)

Se aplica a

Consulte también