Partager via


FileIOPermissionAttribute Classe

Définition

Attention

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

Permet aux actions de sécurité pour FileIOPermission d’être appliquées au code à l’aide d’une 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)]
[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
Héritage
Attributs

Exemples

L’exemple de code suivant montre comment demander FileIOPermission à l’aide de la classe FileIOPermissionAttribute, indiquant la seule autorisation à accorder 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 demander que le code appelant ait des FileIOPermissionillimités. En règle générale, vous faites des demandes dans les bibliothèques managées (DLL) pour aider à protéger les méthodes ou les classes contre le code potentiellement dangereux.

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

Remarques

Prudence

La sécurité de l’accès au code (CAS) a été déconseillée dans toutes les versions de .NET Framework et .NET. Les versions récentes de .NET n’honorent pas les annotations CAS et produisent des erreurs si les API associées au cas sont utilisées. Les développeurs doivent rechercher d’autres moyens d’accomplir des tâches de sécurité.

Les fichiers et 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 lorsque le fichier est utilisé pour la première fois réduit l’impact de la vérification de la 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 de la SecurityAction utilisée.

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.

Prudence

Unrestricted FileIOPermission accorde l’autorisation pour tous les chemins d’accès au sein d’un système de fichiers, y compris plusieurs noms de chemin d’accès qui peuvent être utilisés pour accéder à un seul fichier donné. Pour Deny l’accès à 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 l’accès à \\server\share\file, vous devez Deny \\server\share\file, X :\file et tout autre chemin d’accès que vous pouvez utiliser pour accéder au fichier.

Constructeurs

FileIOPermissionAttribute(SecurityAction)
Obsolète.

Initialise une nouvelle instance de la classe FileIOPermissionAttribute avec la SecurityActionspécifiée.

Propriétés

Action
Obsolète.

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

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

Obtient ou définit un 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é à tous les fichiers.

AllLocalFiles
Obsolète.

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

Append
Obsolète.

Obtient ou définit l’accès d’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 sur lequel accorder la 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.

En cas d’implémentation dans une classe dérivée, obtient un identificateur unique pour cette Attribute.

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

Obtient ou définit une valeur indiquant si l’autorisation complète (illimitée) à 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 consultées.

ViewAndModify
Obsolète.

Obtient ou définit le fichier ou le répertoire dans lequel les données de fichier peuvent être consulté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 une nouvelle 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 pour cette instance.

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

Obtient la 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 de 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 qui indique si cette instance est égale à un objet spécifié.

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

Crée une copie superficielle du Objectactuel.

(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 ensemble de noms à un ensemble correspondant d’identificateurs de répartition.

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

Récupère les informations de type d’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 fournies 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 méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à

Voir aussi