FileIOPermissionAttribute Classe

Définition

Attention

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

Permet d’appliquer les actions de sécurité de FileIOPermission au code à l’aide de la sécurité déclarative. Cette classe ne peut pas être héritée.

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
Héritage
Attributs

Exemples

L’exemple de code suivant montre comment demander FileIOPermission à l’aide de la FileIOPermissionAttribute classe , en indiquant la seule autorisation qui doit être accordée au code.

[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

L’exemple suivant montre comment exiger que le code appelant ait une valeur illimitée FileIOPermission. Vous effectuez généralement des demandes dans les bibliothèques managées (DLL) pour aider à protéger des méthodes ou des classes contre du code potentiellement dangereux.

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

Remarques

Attention

La sécurité d’accès du code (CAS) a été déconseillée dans toutes les versions du .NET Framework et de .NET. Les versions récentes de .NET ne respectent pas les annotations CAS et produisent des erreurs si les API liées à CAS sont utilisées. Les développeurs doivent chercher d’autres moyens pour accomplir les tâches liées à la sécurité.

Les fichiers et les répertoires sont spécifiés à l’aide de chemins absolus. Lors de l’accès aux fichiers, une vérification de sécurité est effectuée lors de la création ou de l’ouverture du fichier. La vérification de sécurité n’est pas effectuée à nouveau, sauf si le fichier est fermé et rouvert. La vérification des autorisations lors de la première consultation du fichier réduit l’impact de la vérification de sécurité sur les performances de l’application, car l’ouverture d’un fichier ne se produit qu’une seule fois, tandis que la lecture et l’écriture peuvent se produire plusieurs fois.

L’étendue de la déclaration autorisée dépend du SecurityAction qui est utilisé.

Les informations de sécurité déclarées par un attribut de sécurité sont stockées dans les métadonnées de la cible d’attribut et sont accessibles par le système au moment de l’exécution. Les attributs de sécurité sont utilisés uniquement pour la sécurité déclarative. Pour une sécurité impérative, utilisez la classe d’autorisation correspondante.

Attention

UnrestrictedFileIOPermission accorde l’autorisation pour tous les chemins d’accès au sein d’un système de fichiers, y compris plusieurs noms de chemins qui peuvent être utilisés pour accéder à un seul fichier donné. Pour Deny accéder à un fichier, vous devez Deny tous les chemins d’accès possibles au fichier. Par exemple, si \\server\share est mappé au lecteur réseau X, pour Deny accéder à \\server\share\file, vous devez Deny \\server\share\file, X:\file et tout autre chemin que vous pouvez utiliser pour accéder au fichier.

Constructeurs

FileIOPermissionAttribute(SecurityAction)
Obsolète.

Initialise une nouvelle instance de la classe FileIOPermissionAttribute avec le SecurityAction spécifié.

Propriétés

Action
Obsolète.

Obtient ou définit une action de sécurité.

(Hérité de SecurityAttribute)
All
Obsolète.
Obsolète.
Obsolète.

Obtient ou définit l'accès complet pour le fichier ou le répertoire spécifié par la valeur de chaîne.

AllFiles
Obsolète.

Obtient ou définit l’accès autorisé pour tous les fichiers.

AllLocalFiles
Obsolète.

Obtient ou définit l’accès autorisé pour tous les fichiers locaux.

Append
Obsolète.

Obtient ou définit l'accès en ajout pour le fichier ou le répertoire spécifié par la valeur de chaîne.

ChangeAccessControl
Obsolète.

Obtient ou définit le fichier ou le répertoire dans lequel les informations de contrôle d'accès peuvent être modifiées.

PathDiscovery
Obsolète.

Obtient ou définit le fichier ou le répertoire pour lequel accorder l'autorisation de découverte du chemin d'accès.

Read
Obsolète.

Obtient ou définit l'accès en lecture pour le fichier ou le répertoire spécifié par la valeur de chaîne.

TypeId
Obsolète.

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)
Unrestricted
Obsolète.

Obtient ou définit une valeur indiquant si l'autorisation complète (sans restriction) d'accès à la ressource protégée par l'attribut est déclarée.

(Hérité de SecurityAttribute)
ViewAccessControl
Obsolète.

Obtient ou définit le fichier ou le répertoire dans lequel les informations de contrôle d'accès peuvent être affichées.

ViewAndModify
Obsolète.

Obtient ou définit le fichier ou répertoire dans lequel les données de fichier peuvent être affichées et modifiées.

Write
Obsolète.

Obtient ou définit l'accès en écriture pour le fichier ou le répertoire spécifié par la valeur de chaîne.

Méthodes

CreatePermission()
Obsolète.

Crée et retourne un nouveau FileIOPermission.

Equals(Object)
Obsolète.

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()
Obsolète.

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()
Obsolète.

Obtient le Type de l'instance actuelle.

(Hérité de Object)
IsDefaultAttribute()
Obsolète.

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.

(Hérité de Attribute)
Match(Object)
Obsolète.

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()
Obsolète.

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()
Obsolète.

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
Obsolète.

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Obsolète.

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Obsolète.

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Obsolète.

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi