FileIOPermissionAttribute Classe

Définition

Attention

Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}

Permet d’appliquer les actions de sécurité de FileIOPermission au code à l’aide de la sécurité déclarative.Allows security actions for FileIOPermission to be applied to code using declarative security. Cette classe ne peut pas être héritée.This class cannot be inherited.

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 à l' FileIOPermission aide de la FileIOPermissionAttribute classe, en indiquant la seule autorisation qui doit être accordée au code.The following code example demonstrates how to request FileIOPermission by using the FileIOPermissionAttribute class, indicating the only permission that is to be granted to the 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 une valeur illimitée FileIOPermission .The following example shows how to demand that the calling code has unrestricted FileIOPermission. En général, vous faites des demandes dans les bibliothèques managées (dll) pour protéger les méthodes ou les classes contre du code potentiellement dangereux.You typically make demands in managed libraries (DLLs) to help protect methods or classes from potentially harmful code.

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

Remarques

Important

Le code partiellement fiable n’est plus pris en charge.Partially trusted code is no longer supported. Cet attribut n’a aucun effet dans .NET Core.This attribute has no effect in .NET Core.

Les fichiers et les répertoires sont spécifiés à l’aide de chemins absolus.Files and directories are specified using absolute paths. Lors de l’accès aux fichiers, une vérification de la sécurité est effectuée lors de la création ou de l’ouverture du fichier.When accessing files, a security check is performed when the file is created or opened. La vérification de la sécurité n’est pas effectuée à moins que le fichier ne soit fermé, puis rouvert.The security check is not done again unless the file is closed and reopened. La vérification des autorisations lorsque le fichier est accédé pour la première fois réduit l’impact de la vérification de sécurité sur les performances de l’application, car l’ouverture d’un fichier se produit une seule fois, tandis que la lecture et l’écriture peuvent se produire plusieurs fois.Checking permissions when the file is first accessed minimizes the impact of the security check on application performance because opening a file happens only once, while reading and writing can happen multiple times.

La portée de la déclaration qui est autorisée dépend du SecurityAction utilisé.The scope of the declaration that is allowed depends on the SecurityAction that is used.

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 de l’attribut et sont accessibles par le système au moment de l’exécution.The security information declared by a security attribute is stored in the metadata of the attribute target and is accessed by the system at run time. Les attributs de sécurité sont utilisés uniquement pour la sécurité déclarative.Security attributes are used only for declarative security. Pour une sécurité impérative, utilisez la classe d’autorisation correspondante.For imperative security, use the corresponding permission class.

Attention

UnrestrictedFileIOPermissionaccorde l’autorisation pour tous les chemins d’accès dans 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é.Unrestricted FileIOPermission grants permission for all paths within a file system, including multiple pathnames that can be used to access a single given file. Pour Deny accéder à un fichier, vous devez Deny tous les chemins d’accès possibles au fichier.To Deny access to a file, you must Deny all possible paths to the file. Par exemple, si \ \server\share est mappé au lecteur réseau X, pour Deny accéder à \ \serveur\partage\fichier, vous devez Deny \ \serveur\partage\fichier, X:\File et tout autre chemin d’accès que vous pouvez utiliser pour accéder au fichier.For example, if \\server\share is mapped to the network drive X, to Deny access to \\server\share\file, you must Deny \\server\share\file, X:\file and any other path that you can use to access the file.

Constructeurs

FileIOPermissionAttribute(SecurityAction)

Initialise une nouvelle instance de la classe FileIOPermissionAttribute avec le SecurityAction spécifié.Initializes a new instance of the FileIOPermissionAttribute class with the specified SecurityAction.

Propriétés

Action

Obtient ou définit une action de sécurité.Gets or sets a security action.

(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.Gets or sets full access for the file or directory that is specified by the string value.

AllFiles

Obtient ou définit l’accès autorisé pour tous les fichiers.Gets or sets the permitted access to all files.

AllLocalFiles

Obtient ou définit l’accès autorisé pour tous les fichiers locaux.Gets or sets the permitted access to all local files.

Append

Obtient ou définit l'accès en ajout pour le fichier ou le répertoire spécifié par la valeur de chaîne.Gets or sets append access for the file or directory that is specified by the string value.

ChangeAccessControl

Obtient ou définit le fichier ou le répertoire dans lequel les informations de contrôle d'accès peuvent être modifiées.Gets or sets the file or directory in which access control information can be changed.

PathDiscovery

Obtient ou définit le fichier ou le répertoire pour lequel accorder l'autorisation de découverte du chemin d'accès.Gets or sets the file or directory to which to grant path discovery.

Read

Obtient ou définit l'accès en lecture pour le fichier ou le répertoire spécifié par la valeur de chaîne.Gets or sets read access for the file or directory specified by the string value.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Hérité de Attribute)
Unrestricted

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.Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared.

(Hérité de SecurityAttribute)
ViewAccessControl

Obtient ou définit le fichier ou le répertoire dans lequel les informations de contrôle d'accès peuvent être affichées.Gets or sets the file or directory in which access control information can be viewed.

ViewAndModify

Obtient ou définit le fichier ou répertoire dans lequel les données de fichier peuvent être affichées et modifiées.Gets or sets the file or directory in which file data can be viewed and modified.

Write

Obtient ou définit l'accès en écriture pour le fichier ou le répertoire spécifié par la valeur de chaîne.Gets or sets write access for the file or directory specified by the string value.

Méthodes

CreatePermission()

Crée et retourne un nouveau FileIOPermission.Creates and returns a new FileIOPermission.

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.Returns a value that indicates whether this instance is equal to a specified object.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.Returns the hash code for this instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
IsDefaultAttribute()

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.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)

Implémentations d’interfaces explicites

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

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

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

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.Provides access to properties and methods exposed by an object.

(Hérité de Attribute)

S’applique à

Voir aussi