FileSystemAccessRule Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une abstraction d'une entrée de contrôle d'accès (ACE) qui définit une règle d'accès pour un fichier ou un répertoire. Cette classe ne peut pas être héritée.
public ref class FileSystemAccessRule sealed : System::Security::AccessControl::AccessRule
public sealed class FileSystemAccessRule : System.Security.AccessControl.AccessRule
[System.Security.SecurityCritical]
public sealed class FileSystemAccessRule : System.Security.AccessControl.AccessRule
type FileSystemAccessRule = class
inherit AccessRule
[<System.Security.SecurityCritical>]
type FileSystemAccessRule = class
inherit AccessRule
Public NotInheritable Class FileSystemAccessRule
Inherits AccessRule
- Héritage
- Attributs
Exemples
L’exemple de code suivant utilise la FileSecurity classe pour ajouter, puis supprimer une entrée de contrôle d’accès (ACE) à partir d’un fichier. Vous devez entrer un compte d'utilisateur ou de groupe valide pour exécuter cet exemple.
using System;
using System.IO;
using System.Security.AccessControl;
namespace FileSystemExample
{
class FileExample
{
public static void Main()
{
try
{
string fileName = "test.xml";
Console.WriteLine($"Adding access control entry for {fileName}");
// Add the access control entry to the file.
AddFileSecurity(fileName, @"DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow);
Console.WriteLine($"Removing access control entry from {fileName}");
// Remove the access control entry from the file.
RemoveFileSecurity(fileName, @"DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow);
Console.WriteLine("Done.");
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
// Adds an ACL entry on the specified file for the specified account.
public static void AddFileSecurity(string fileName, string account,
FileSystemRights rights, AccessControlType controlType)
{
FileInfo fileInfo = new(fileName);
FileSecurity fSecurity = fileInfo.GetAccessControl();
// Add the FileSystemAccessRule to the security settings.
fSecurity.AddAccessRule(new FileSystemAccessRule(account,
rights, controlType));
// Set the new access settings.
fileInfo.SetAccessControl(fSecurity);
}
// Removes an ACL entry on the specified file for the specified account.
public static void RemoveFileSecurity(string fileName, string account,
FileSystemRights rights, AccessControlType controlType)
{
FileInfo fileInfo = new(fileName);
FileSecurity fSecurity = fileInfo.GetAccessControl();
// Remove the FileSystemAccessRule from the security settings.
fSecurity.RemoveAccessRule(new FileSystemAccessRule(account,
rights, controlType));
// Set the new access settings.
fileInfo.SetAccessControl(fSecurity);
}
}
}
Imports System.IO
Imports System.Security.AccessControl
Module FileExample
Sub Main()
Try
Dim fileName As String = "test.xml"
Console.WriteLine("Adding access control entry for " & fileName)
' Add the access control entry to the file.
AddFileSecurity(fileName, "DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow)
Console.WriteLine("Removing access control entry from " & fileName)
' Remove the access control entry from the file.
RemoveFileSecurity(fileName, "DomainName\AccountName",
FileSystemRights.ReadData, AccessControlType.Allow)
Console.WriteLine("Done.")
Catch e As Exception
Console.WriteLine(e)
End Try
End Sub
' Adds an ACL entry on the specified file for the specified account.
Sub AddFileSecurity(ByVal fileName As String, ByVal account As String,
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
Dim fileInfo As New FileInfo(fileName)
Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()
' Add the FileSystemAccessRule to the security settings.
Dim accessRule As New FileSystemAccessRule(account, rights, controlType)
fSecurity.AddAccessRule(accessRule)
' Set the new access settings.
fileInfo.SetAccessControl(fSecurity)
End Sub
' Removes an ACL entry on the specified file for the specified account.
Sub RemoveFileSecurity(ByVal fileName As String, ByVal account As String,
ByVal rights As FileSystemRights, ByVal controlType As AccessControlType)
Dim fileInfo As New FileInfo(fileName)
Dim fSecurity As FileSecurity = fileInfo.GetAccessControl()
' Remove the FileSystemAccessRule from the security settings.
fSecurity.RemoveAccessRule(New FileSystemAccessRule(account,
rights, controlType))
' Set the new access settings.
fileInfo.SetAccessControl(fSecurity)
End Sub
End Module
Remarques
La FileSystemAccessRule classe représente une abstraction d’une entrée de contrôle d’accès (ACE) sous-jacente qui spécifie un compte d’utilisateur, le type d’accès à fournir (lecture, écriture, etc.) et si ce droit doit être autorisé ou refusé. Cette classe peut également spécifier la façon dont les règles d’accès sont propagées aux objets enfants.
Utilisez la FileSystemAccessRule classe pour créer une règle d’accès. Vous pouvez conserver la règle à l’aide de la FileSecurity classe ou DirectorySecurity .
Constructeurs
FileSystemAccessRule(IdentityReference, FileSystemRights, AccessControlType) |
Initialise une nouvelle instance de la classe FileSystemAccessRule à l'aide d'une référence à un compte d'utilisateur, d'une valeur qui spécifie le type d'opération associé à la règle d'accès et d'une valeur qui spécifie s'il faut autoriser ou refuser l'opération. |
FileSystemAccessRule(IdentityReference, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType) |
Initialise une nouvelle instance de la classe FileSystemAccessRule à l'aide d'une référence à un compte d'utilisateur, d'une valeur qui spécifie le type d'opération associé à la règle d'accès, d'une valeur qui détermine comment les droits sont hérités, d'une valeur qui détermine comment les droits sont propagés et d'une valeur qui spécifie s'il faut autoriser ou refuser l'opération. |
FileSystemAccessRule(String, FileSystemRights, AccessControlType) |
Initialise une nouvelle instance de la classe FileSystemAccessRule à l'aide du nom d'un compte d'utilisateur, d'une valeur qui spécifie le type d'opération associé à la règle d'accès et d'une valeur qui décrit s'il faut autoriser ou refuser l'opération. |
FileSystemAccessRule(String, FileSystemRights, InheritanceFlags, PropagationFlags, AccessControlType) |
Initialise une nouvelle instance de la classe FileSystemAccessRule à l'aide du nom d'un compte d'utilisateur, d'une valeur qui spécifie le type d'opération associé à la règle d'accès, d'une valeur qui détermine comment les droits sont hérités, d'une valeur qui détermine comment les droits sont propagés et d'une valeur qui spécifie s'il faut autoriser ou refuser l'opération. |
Propriétés
AccessControlType |
Obtient la valeur AccessControlType associée à cet objet AccessRule. (Hérité de AccessRule) |
AccessMask |
Obtient le masque d’accès de cette règle. (Hérité de AuthorizationRule) |
FileSystemRights |
Obtient les indicateurs FileSystemRights associés à l'objet FileSystemAccessRule en cours. |
IdentityReference |
Obtient l’objet IdentityReference auquel cette règle s’applique. (Hérité de AuthorizationRule) |
InheritanceFlags |
Obtient la valeur des indicateurs qui déterminent comment cette règle est héritée par les objets enfants. (Hérité de AuthorizationRule) |
IsInherited |
Obtient une valeur qui indique si cette règle est explicitement définie ou héritée d’un objet de conteneur parent. (Hérité de AuthorizationRule) |
PropagationFlags |
Obtient la valeur des indicateurs de propagation, qui déterminent la façon dont l’héritage de cette règle est propagée aux objets enfants. Cette propriété est significative uniquement lorsque la valeur de l’énumération InheritanceFlags n’est pas None. (Hérité de AuthorizationRule) |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |