DirectorySecurity 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 le contrôle d’accès et la sécurité d’audit d’un répertoire. Cette classe ne peut pas être héritée.
public ref class DirectorySecurity sealed : System::Security::AccessControl::FileSystemSecurity
public sealed class DirectorySecurity : System.Security.AccessControl.FileSystemSecurity
type DirectorySecurity = class
inherit FileSystemSecurity
Public NotInheritable Class DirectorySecurity
Inherits FileSystemSecurity
- Héritage
-
DirectorySecurity
Exemples
L’exemple de code suivant utilise la DirectorySecurity classe pour ajouter, puis supprimer une entrée de liste de contrôle d’accès (ACL) d’un répertoire. Vous devez fournir 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 DirectoryExample
{
public static void Main()
{
try
{
string DirectoryName = "TestDirectory";
Console.WriteLine("Adding access control entry for " + DirectoryName);
// Add the access control entry to the directory.
AddDirectorySecurity(DirectoryName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow);
Console.WriteLine("Removing access control entry from " + DirectoryName);
// Remove the access control entry from the directory.
RemoveDirectorySecurity(DirectoryName, @"MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow);
Console.WriteLine("Done.");
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
// Adds an ACL entry on the specified directory for the specified account.
public static void AddDirectorySecurity(
string DirectoryName,
string Account,
FileSystemRights Rights,
AccessControlType ControlType
)
{
// Create a new DirectoryInfo object.
DirectoryInfo dInfo = new(DirectoryName);
// Get a DirectorySecurity object that represents the
// current security settings.
DirectorySecurity dSecurity = dInfo.GetAccessControl();
// Add the FileSystemAccessRule to the security settings.
dSecurity.AddAccessRule(new FileSystemAccessRule(Account,
Rights,
ControlType));
// Set the new access settings.
dInfo.SetAccessControl(dSecurity);
}
// Removes an ACL entry on the specified directory for the specified account.
public static void RemoveDirectorySecurity(
string DirectoryName,
string Account,
FileSystemRights Rights,
AccessControlType ControlType
)
{
// Create a new DirectoryInfo object.
DirectoryInfo dInfo = new(DirectoryName);
// Get a DirectorySecurity object that represents the
// current security settings.
DirectorySecurity dSecurity = dInfo.GetAccessControl();
// Add the FileSystemAccessRule to the security settings.
dSecurity.RemoveAccessRule(new FileSystemAccessRule(Account,
Rights,
ControlType));
// Set the new access settings.
dInfo.SetAccessControl(dSecurity);
}
}
}
Imports System.IO
Imports System.Security.AccessControl
Module DirectoryExample
Sub Main()
Try
Dim DirectoryName As String = "TestDirectory"
Console.WriteLine("Adding access control entry for " + DirectoryName)
' Add the access control entry to the directory.
AddDirectorySecurity(DirectoryName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow)
Console.WriteLine("Removing access control entry from " + DirectoryName)
' Remove the access control entry from the directory.
RemoveDirectorySecurity(DirectoryName, "MYDOMAIN\MyAccount", FileSystemRights.ReadData, AccessControlType.Allow)
Console.WriteLine("Done.")
Catch e As Exception
Console.WriteLine(e)
End Try
Console.ReadLine()
End Sub
' Adds an ACL entry on the specified directory for the specified account.
Sub AddDirectorySecurity(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal ControlType As AccessControlType)
' Create a new DirectoryInfoobject.
Dim dInfo As New DirectoryInfo(FileName)
' Get a DirectorySecurity object that represents the
' current security settings.
Dim dSecurity As DirectorySecurity = dInfo.GetAccessControl()
' Add the FileSystemAccessRule to the security settings.
dSecurity.AddAccessRule(New FileSystemAccessRule(Account, Rights, ControlType))
' Set the new access settings.
dInfo.SetAccessControl(dSecurity)
End Sub
' Removes an ACL entry on the specified directory for the specified account.
Sub RemoveDirectorySecurity(ByVal FileName As String, ByVal Account As String, ByVal Rights As FileSystemRights, ByVal ControlType As AccessControlType)
' Create a new DirectoryInfo object.
Dim dInfo As New DirectoryInfo(FileName)
' Get a DirectorySecurity object that represents the
' current security settings.
Dim dSecurity As DirectorySecurity = dInfo.GetAccessControl()
' Add the FileSystemAccessRule to the security settings.
dSecurity.RemoveAccessRule(New FileSystemAccessRule(Account, Rights, ControlType))
' Set the new access settings.
dInfo.SetAccessControl(dSecurity)
End Sub
End Module
Remarques
La DirectorySecurity classe spécifie les droits d’accès d’un répertoire système et la façon dont les tentatives d’accès sont auditées. Cette classe représente les droits d’accès et d’audit sous la forme d’un ensemble de règles. Chaque règle d’accès est représentée par un FileSystemAccessRule objet, tandis que chaque règle d’audit est représentée par un FileSystemAuditRule objet.
La classe DirectorySecurity est une abstraction du système de sécurité de fichiers Windows sous-jacent. Dans ce système, chaque répertoire a une liste de contrôle d’accès discrétionnaire (DACL), qui contrôle l’accès au répertoire et une liste de contrôle d’accès système (SACL), qui spécifie les tentatives de contrôle d’accès qui sont auditées. Les FileSystemAccessRule classes et FileSystemAuditRule les classes sont des abstractions des entrées de contrôle d’accès (ACL) qui comprennent des DLL et des listes de contrôle d’accès.
La DirectorySecurity classe masque la plupart des détails des DLL et des LISTES SACL ; vous n’avez pas à vous soucier de l’ordre ACE ou du DACLS Null.
Utilisez la FileSecurity classe pour récupérer, ajouter ou modifier les règles d’accès qui représentent la liste DACL et la liste de contrôle d’accès d’un fichier.
Les tableaux suivants répertorient les méthodes que vous pouvez utiliser pour accéder à la sécurité des annuaires et les gérer.
| Tâche | Méthodes |
|---|---|
| Ajoutez des règles | FileSystemSecurity.AddAccessRule FileSystemSecurity.AddAuditRule |
| Supprimer des règles | FileSystemSecurity.RemoveAccessRule FileSystemSecurity.RemoveAuditRule |
| Récupérer le contrôle d’accès dans un répertoire | FileSystemAclExtensions.GetAccessControl(DirectoryInfo) DirectoryInfo.GetAccessControl |
| Conserver le contrôle d’accès dans un répertoire | FileSystemAclExtensions.SetAccessControl(DirectoryInfo, DirectorySecurity) DirectoryInfo.SetAccessControl |
Constructeurs
| Nom | Description |
|---|---|
| DirectorySecurity() |
Initialise une nouvelle instance de la classe DirectorySecurity. |
| DirectorySecurity(String, AccessControlSections) |
Initialise une nouvelle instance de la DirectorySecurity classe à partir d’un répertoire spécifié à l’aide des valeurs spécifiées de l’énumération AccessControlSections . |
Propriétés
| Nom | Description |
|---|---|
| AccessRightType |
Obtient l’énumération utilisée par la FileSystemSecurity classe pour représenter les droits d’accès. (Hérité de FileSystemSecurity) |
| AccessRulesModified |
Obtient ou définit une valeur booléenne qui spécifie si les règles d’accès associées à cet ObjectSecurity objet ont été modifiées. (Hérité de ObjectSecurity) |
| AccessRuleType |
Obtient l’énumération utilisée par la FileSystemSecurity classe pour représenter les règles d’accès. (Hérité de FileSystemSecurity) |
| AreAccessRulesCanonical |
Obtient une valeur booléenne qui spécifie si les règles d’accès associées à cet ObjectSecurity objet sont dans l’ordre canonique. (Hérité de ObjectSecurity) |
| AreAccessRulesProtected |
Obtient une valeur booléenne qui spécifie si la liste de contrôle d’accès discrétionnaire (DACL) associée à cet ObjectSecurity objet est protégée. (Hérité de ObjectSecurity) |
| AreAuditRulesCanonical |
Obtient une valeur booléenne qui spécifie si les règles d’audit associées à cet ObjectSecurity objet sont dans un ordre canonique. (Hérité de ObjectSecurity) |
| AreAuditRulesProtected |
Obtient une valeur booléenne qui spécifie si la liste de contrôle d’accès système (SACL) associée à cet ObjectSecurity objet est protégée. (Hérité de ObjectSecurity) |
| AuditRulesModified |
Obtient ou définit une valeur booléenne qui spécifie si les règles d’audit associées à cet ObjectSecurity objet ont été modifiées. (Hérité de ObjectSecurity) |
| AuditRuleType |
Obtient le type utilisé par la FileSystemSecurity classe pour représenter des règles d’audit. (Hérité de FileSystemSecurity) |
| GroupModified |
Obtient ou définit une valeur booléenne qui spécifie si le groupe associé à l’objet sécurisable a été modifié. (Hérité de ObjectSecurity) |
| IsContainer |
Obtient une valeur booléenne qui spécifie si cet ObjectSecurity objet est un objet conteneur. (Hérité de ObjectSecurity) |
| IsDS |
Obtient une valeur booléenne qui spécifie si cet ObjectSecurity objet est un objet de répertoire. (Hérité de ObjectSecurity) |
| OwnerModified |
Obtient ou définit une valeur booléenne qui spécifie si le propriétaire de l’objet sécurisable a été modifié. (Hérité de ObjectSecurity) |
Méthodes
| Nom | Description |
|---|---|
| AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType) |
Initialise une nouvelle instance de la FileSystemAccessRule classe qui représente une nouvelle règle de contrôle d’accès pour l’utilisateur spécifié, avec les droits d’accès, le contrôle d’accès et les indicateurs spécifiés. (Hérité de FileSystemSecurity) |
| AddAccessRule(AccessRule) |
Ajoute la règle d’accès spécifiée à la liste de contrôle d’accès discrétionnaire (DACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| AddAccessRule(FileSystemAccessRule) |
Ajoute l’autorisation de liste de contrôle d’accès (ACL) spécifiée au fichier ou au répertoire actif. (Hérité de FileSystemSecurity) |
| AddAuditRule(AuditRule) |
Ajoute la règle d’audit spécifiée à la liste de contrôle d’accès système (SACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| AddAuditRule(FileSystemAuditRule) |
Ajoute la règle d’audit spécifiée au fichier ou au répertoire actif. (Hérité de FileSystemSecurity) |
| AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags) |
Initialise une nouvelle instance de la FileSystemAuditRule classe représentant la règle d’audit spécifiée pour l’utilisateur spécifié. (Hérité de FileSystemSecurity) |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetAccessRules(Boolean, Boolean, Type) |
Obtient une collection des règles d’accès associées à l’identificateur de sécurité spécifié. (Hérité de CommonObjectSecurity) |
| GetAuditRules(Boolean, Boolean, Type) |
Obtient une collection des règles d’audit associées à l’identificateur de sécurité spécifié. (Hérité de CommonObjectSecurity) |
| GetGroup(Type) |
Obtient le groupe principal associé au propriétaire spécifié. (Hérité de ObjectSecurity) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetOwner(Type) |
Obtient le propriétaire associé au groupe principal spécifié. (Hérité de ObjectSecurity) |
| GetSecurityDescriptorBinaryForm() |
Retourne un tableau de valeurs d’octets qui représente les informations de descripteur de sécurité pour cet ObjectSecurity objet. (Hérité de ObjectSecurity) |
| GetSecurityDescriptorSddlForm(AccessControlSections) |
Retourne la représentation SDDL (Security Descriptor Definition Language) des sections spécifiées du descripteur de sécurité associé à cet ObjectSecurity objet. (Hérité de ObjectSecurity) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ModifyAccess(AccessControlModification, AccessRule, Boolean) |
Applique la modification spécifiée à la liste de contrôle d’accès discrétionnaire (DACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| ModifyAccessRule(AccessControlModification, AccessRule, Boolean) |
Applique la modification spécifiée à la liste de contrôle d’accès discrétionnaire (DACL) associée à cet ObjectSecurity objet. (Hérité de ObjectSecurity) |
| ModifyAudit(AccessControlModification, AuditRule, Boolean) |
Applique la modification spécifiée à la liste de contrôle d’accès système (SACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| ModifyAuditRule(AccessControlModification, AuditRule, Boolean) |
Applique la modification spécifiée à la liste de contrôle d’accès système (SACL) associée à cet ObjectSecurity objet. (Hérité de ObjectSecurity) |
| Persist(Boolean, String, AccessControlSections) |
Enregistre les sections spécifiées du descripteur de sécurité associé à cet ObjectSecurity objet dans un stockage permanent. Nous recommandons que les valeurs des |
| Persist(SafeHandle, AccessControlSections, Object) |
Enregistre les sections spécifiées du descripteur de sécurité associé à cet NativeObjectSecurity objet dans un stockage permanent. Nous recommandons que les valeurs des |
| Persist(SafeHandle, AccessControlSections) |
Enregistre les sections spécifiées du descripteur de sécurité associé à cet NativeObjectSecurity objet dans un stockage permanent. Nous recommandons.persist que les valeurs des |
| Persist(String, AccessControlSections, Object) |
Enregistre les sections spécifiées du descripteur de sécurité associé à cet NativeObjectSecurity objet dans un stockage permanent. Nous recommandons que les valeurs des |
| Persist(String, AccessControlSections) |
Enregistre les sections spécifiées du descripteur de sécurité associé à cet NativeObjectSecurity objet dans un stockage permanent. Nous recommandons que les valeurs des |
| PurgeAccessRules(IdentityReference) |
Supprime toutes les règles d’accès associées à l’élément spécifié IdentityReference. (Hérité de ObjectSecurity) |
| PurgeAuditRules(IdentityReference) |
Supprime toutes les règles d’audit associées à l’objet spécifié IdentityReference. (Hérité de ObjectSecurity) |
| ReadLock() |
Verrouille cet ObjectSecurity objet pour l’accès en lecture. (Hérité de ObjectSecurity) |
| ReadUnlock() |
Déverrouille cet ObjectSecurity objet pour l’accès en lecture. (Hérité de ObjectSecurity) |
| RemoveAccessRule(AccessRule) |
Supprime les règles d’accès qui contiennent le même identificateur de sécurité et le même masque d’accès que la règle d’accès spécifiée de la liste de contrôle d’accès discrétionnaire (DACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| RemoveAccessRule(FileSystemAccessRule) |
Supprime toutes les autorisations de liste de contrôle d’accès (ACL) autorisées ou refusées correspondantes du fichier ou du répertoire actif. (Hérité de FileSystemSecurity) |
| RemoveAccessRuleAll(AccessRule) |
Supprime toutes les règles d’accès qui ont le même identificateur de sécurité que la règle d’accès spécifiée de la liste de contrôle d’accès discrétionnaire (DACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| RemoveAccessRuleAll(FileSystemAccessRule) |
Supprime toutes les autorisations de liste de contrôle d’accès (ACL) pour l’utilisateur spécifié du fichier ou du répertoire actif. (Hérité de FileSystemSecurity) |
| RemoveAccessRuleSpecific(AccessRule) |
Supprime toutes les règles d’accès qui correspondent exactement à la règle d’accès spécifiée de la liste de contrôle d’accès discrétionnaire associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| RemoveAccessRuleSpecific(FileSystemAccessRule) |
Supprime une autorisation de liste de contrôle d’accès (ACL) de la liste de contrôle d’accès correspondante unique du fichier ou du répertoire actif. (Hérité de FileSystemSecurity) |
| RemoveAuditRule(AuditRule) |
Supprime les règles d’audit qui contiennent le même identificateur de sécurité et le même masque d’accès que la règle d’audit spécifiée de la liste de contrôle d’accès système (SACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| RemoveAuditRule(FileSystemAuditRule) |
Supprime toutes les règles d’audit d’autorisation ou de refus correspondantes du fichier ou du répertoire actif. (Hérité de FileSystemSecurity) |
| RemoveAuditRuleAll(AuditRule) |
Supprime toutes les règles d’audit qui ont le même identificateur de sécurité que la règle d’audit spécifiée de la liste de contrôle d’accès système (SACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| RemoveAuditRuleAll(FileSystemAuditRule) |
Supprime toutes les règles d’audit pour l’utilisateur spécifié du fichier ou du répertoire actif. (Hérité de FileSystemSecurity) |
| RemoveAuditRuleSpecific(AuditRule) |
Supprime toutes les règles d’audit qui correspondent exactement à la règle d’audit spécifiée de la liste de contrôle d’accès système (SACL) associée à cet CommonObjectSecurity objet. (Hérité de CommonObjectSecurity) |
| RemoveAuditRuleSpecific(FileSystemAuditRule) |
Supprime une règle d’audit d’autorisation ou de refus correspondante unique du fichier ou du répertoire actif. (Hérité de FileSystemSecurity) |
| ResetAccessRule(AccessRule) |
Supprime toutes les règles d’accès dans la liste de contrôle d’accès discrétionnaire (DACL) associée à cet CommonObjectSecurity objet, puis ajoute la règle d’accès spécifiée. (Hérité de CommonObjectSecurity) |
| ResetAccessRule(FileSystemAccessRule) |
Ajoute l’autorisation de liste de contrôle d’accès (ACL) spécifiée au fichier ou au répertoire actif et supprime toutes les autorisations de liste de contrôle d’accès correspondantes. (Hérité de FileSystemSecurity) |
| SetAccessRule(AccessRule) |
Supprime toutes les règles d’accès qui contiennent le même identificateur de sécurité et qualificateur que la règle d’accès spécifiée dans la liste de contrôle d’accès discrétionnaire associée à cet CommonObjectSecurity objet, puis ajoute la règle d’accès spécifiée. (Hérité de CommonObjectSecurity) |
| SetAccessRule(FileSystemAccessRule) |
Définit l’autorisation de liste de contrôle d’accès (ACL) spécifiée pour le fichier ou le répertoire actif. (Hérité de FileSystemSecurity) |
| SetAccessRuleProtection(Boolean, Boolean) |
Définit ou supprime la protection des règles d’accès associées à cet ObjectSecurity objet. Les règles d’accès protégées ne peuvent pas être modifiées par les objets parents via l’héritage. (Hérité de ObjectSecurity) |
| SetAuditRule(AuditRule) |
Supprime toutes les règles d’audit qui contiennent le même identificateur de sécurité et qualificateur que la règle d’audit spécifiée dans la liste de contrôle d’accès système associée à cet CommonObjectSecurity objet, puis ajoute la règle d’audit spécifiée. (Hérité de CommonObjectSecurity) |
| SetAuditRule(FileSystemAuditRule) |
Définit la règle d’audit spécifiée pour le fichier ou le répertoire actif. (Hérité de FileSystemSecurity) |
| SetAuditRuleProtection(Boolean, Boolean) |
Définit ou supprime la protection des règles d’audit associées à cet ObjectSecurity objet. Les règles d’audit protégées ne peuvent pas être modifiées par les objets parents via l’héritage. (Hérité de ObjectSecurity) |
| SetGroup(IdentityReference) |
Définit le groupe principal du descripteur de sécurité associé à cet ObjectSecurity objet. (Hérité de ObjectSecurity) |
| SetOwner(IdentityReference) |
Définit le propriétaire du descripteur de sécurité associé à cet ObjectSecurity objet. (Hérité de ObjectSecurity) |
| SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections) |
Définit les sections spécifiées du descripteur de sécurité pour cet ObjectSecurity objet à partir du tableau spécifié de valeurs d’octets. (Hérité de ObjectSecurity) |
| SetSecurityDescriptorBinaryForm(Byte[]) |
Définit le descripteur de sécurité pour cet ObjectSecurity objet à partir du tableau spécifié de valeurs d’octets. (Hérité de ObjectSecurity) |
| SetSecurityDescriptorSddlForm(String, AccessControlSections) |
Définit les sections spécifiées du descripteur de sécurité pour cet ObjectSecurity objet à partir de la chaîne SDDL (Security Descriptor Definition Language) spécifiée. (Hérité de ObjectSecurity) |
| SetSecurityDescriptorSddlForm(String) |
Définit le descripteur de sécurité pour cet ObjectSecurity objet à partir de la chaîne SDDL (Security Descriptor Definition Language) spécifiée. (Hérité de ObjectSecurity) |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| WriteLock() |
Verrouille cet ObjectSecurity objet pour l’accès en écriture. (Hérité de ObjectSecurity) |
| WriteUnlock() |
Déverrouille cet ObjectSecurity objet pour l’accès en écriture. (Hérité de ObjectSecurity) |