DirectorySecurity Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar åtkomstkontroll och granskningssäkerhet för en katalog. Det går inte att ärva den här klassen.
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
- Arv
-
DirectorySecurity
Exempel
I följande kodexempel används DirectorySecurity klassen för att lägga till och sedan ta bort en åtkomstkontrollistapost (ACL) från en katalog. Du måste ange ett giltigt användar- eller gruppkonto för att kunna köra det här exemplet.
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
Kommentarer
Klassen DirectorySecurity anger åtkomsträttigheterna för en systemkatalog och hur åtkomstförsök granskas. Den här klassen representerar åtkomst- och granskningsrättigheter som en uppsättning regler. Varje åtkomstregel representeras av ett FileSystemAccessRule objekt, medan varje granskningsregel representeras av ett FileSystemAuditRule objekt.
Klassen DirectorySecurity är en abstraktion av det underliggande Windows filsäkerhetssystemet. I det här systemet har varje katalog en diskretionär åtkomstkontrollista (DACL), som styr åtkomsten till katalogen och en lista över systemåtkomstkontroll (SACL), som anger de åtkomstkontrollförsök som granskas. Klasserna FileSystemAccessRule och FileSystemAuditRule är abstraktioner av åtkomstkontrollposterna (ACL: er) som består av DACLs och SACLs.
Klassen DirectorySecurity döljer många av detaljerna i DACLs och SACLs. Du behöver inte bekymra dig om ACE-beställning eller null-DACLS.
FileSecurity Använd klassen för att hämta, lägga till eller ändra åtkomstreglerna som representerar DACL och SACL för en fil.
I följande tabeller visas de metoder som du kan använda för att komma åt och upprätthålla katalogsäkerhet.
| Task | Methods |
|---|---|
| Lägga till regler | FileSystemSecurity.AddAccessRule FileSystemSecurity.AddAuditRule |
| Ta bort regler | FileSystemSecurity.RemoveAccessRule FileSystemSecurity.RemoveAuditRule |
| Hämta åtkomstkontrollen till en katalog | FileSystemAclExtensions.GetAccessControl(DirectoryInfo) DirectoryInfo.GetAccessControl |
| Spara åtkomstkontrollen till en katalog | FileSystemAclExtensions.SetAccessControl(DirectoryInfo, DirectorySecurity) DirectoryInfo.SetAccessControl |
Konstruktorer
| Name | Description |
|---|---|
| DirectorySecurity() |
Initierar en ny instans av DirectorySecurity klassen. |
| DirectorySecurity(String, AccessControlSections) |
Initierar en ny instans av DirectorySecurity klassen från en angiven katalog med de angivna värdena för AccessControlSections uppräkningen. |
Egenskaper
| Name | Description |
|---|---|
| AccessRightType |
Hämtar den uppräkning som FileSystemSecurity klassen använder för att representera åtkomsträttigheter. (Ärvd från FileSystemSecurity) |
| AccessRulesModified |
Hämtar eller anger ett booleskt värde som anger om åtkomstreglerna som är associerade med det här ObjectSecurity objektet har ändrats. (Ärvd från ObjectSecurity) |
| AccessRuleType |
Hämtar den uppräkning som FileSystemSecurity klassen använder för att representera åtkomstregler. (Ärvd från FileSystemSecurity) |
| AreAccessRulesCanonical |
Hämtar ett booleskt värde som anger om åtkomstreglerna som är associerade med det här ObjectSecurity objektet är i kanonisk ordning. (Ärvd från ObjectSecurity) |
| AreAccessRulesProtected |
Hämtar ett booleskt värde som anger om dacl-objektet (Discretionary Access Control List) som är associerat med det här ObjectSecurity-objektet är skyddat. (Ärvd från ObjectSecurity) |
| AreAuditRulesCanonical |
Hämtar ett booleskt värde som anger om granskningsreglerna som är associerade med det här ObjectSecurity objektet är i kanonisk ordning. (Ärvd från ObjectSecurity) |
| AreAuditRulesProtected |
Hämtar ett booleskt värde som anger om sacl-objektet (System Access Control List) som är associerat med det här ObjectSecurity-objektet är skyddat. (Ärvd från ObjectSecurity) |
| AuditRulesModified |
Hämtar eller anger ett booleskt värde som anger om granskningsreglerna som är associerade med det här ObjectSecurity objektet har ändrats. (Ärvd från ObjectSecurity) |
| AuditRuleType |
Hämtar den typ som FileSystemSecurity klassen använder för att representera granskningsregler. (Ärvd från FileSystemSecurity) |
| GroupModified |
Hämtar eller anger ett booleskt värde som anger om gruppen som är associerad med det skyddsbara objektet har ändrats. (Ärvd från ObjectSecurity) |
| IsContainer |
Hämtar ett booleskt värde som anger om det här ObjectSecurity objektet är ett containerobjekt. (Ärvd från ObjectSecurity) |
| IsDS |
Hämtar ett booleskt värde som anger om det här ObjectSecurity objektet är ett katalogobjekt. (Ärvd från ObjectSecurity) |
| OwnerModified |
Hämtar eller anger ett booleskt värde som anger om ägaren till det skyddsbara objektet har ändrats. (Ärvd från ObjectSecurity) |
Metoder
| Name | Description |
|---|---|
| AccessRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AccessControlType) |
Initierar en ny instans av FileSystemAccessRule klassen som representerar en ny åtkomstkontrollregel för den angivna användaren med angivna åtkomsträttigheter, åtkomstkontroll och flaggor. (Ärvd från FileSystemSecurity) |
| AddAccessRule(AccessRule) |
Lägger till den angivna åtkomstregeln i DACL (Discretionary Access Control List) som är associerad med det här CommonObjectSecurity-objektet. (Ärvd från CommonObjectSecurity) |
| AddAccessRule(FileSystemAccessRule) |
Lägger till den angivna behörigheten för åtkomstkontrollistan (ACL) i den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| AddAuditRule(AuditRule) |
Lägger till den angivna granskningsregeln i den System Access Control List (SACL) som är associerad med det här CommonObjectSecurity-objektet. (Ärvd från CommonObjectSecurity) |
| AddAuditRule(FileSystemAuditRule) |
Lägger till den angivna granskningsregeln i den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| AuditRuleFactory(IdentityReference, Int32, Boolean, InheritanceFlags, PropagationFlags, AuditFlags) |
Initierar en ny instans av FileSystemAuditRule klassen som representerar den angivna granskningsregeln för den angivna användaren. (Ärvd från FileSystemSecurity) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetAccessRules(Boolean, Boolean, Type) |
Hämtar en samling åtkomstregler som är associerade med den angivna säkerhetsidentifieraren. (Ärvd från CommonObjectSecurity) |
| GetAuditRules(Boolean, Boolean, Type) |
Hämtar en samling granskningsregler som är associerade med den angivna säkerhetsidentifieraren. (Ärvd från CommonObjectSecurity) |
| GetGroup(Type) |
Hämtar den primära gruppen som är associerad med den angivna ägaren. (Ärvd från ObjectSecurity) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetOwner(Type) |
Hämtar ägaren som är associerad med den angivna primära gruppen. (Ärvd från ObjectSecurity) |
| GetSecurityDescriptorBinaryForm() |
Returnerar en matris med bytevärden som representerar säkerhetsbeskrivningsinformationen för det här ObjectSecurity objektet. (Ärvd från ObjectSecurity) |
| GetSecurityDescriptorSddlForm(AccessControlSections) |
Returnerar SDDL-representationen (Security Descriptor Definition Language) för de angivna avsnitten i säkerhetsbeskrivningen som är associerade med det här ObjectSecurity objektet. (Ärvd från ObjectSecurity) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ModifyAccess(AccessControlModification, AccessRule, Boolean) |
Tillämpar den angivna ändringen på DACL (Discretionary Access Control List) som är associerad med det här CommonObjectSecurity-objektet. (Ärvd från CommonObjectSecurity) |
| ModifyAccessRule(AccessControlModification, AccessRule, Boolean) |
Tillämpar den angivna ändringen på DACL (Discretionary Access Control List) som är associerad med det här ObjectSecurity-objektet. (Ärvd från ObjectSecurity) |
| ModifyAudit(AccessControlModification, AuditRule, Boolean) |
Tillämpar den angivna ändringen på den System Access Control List (SACL) som är associerad med det här CommonObjectSecurity-objektet. (Ärvd från CommonObjectSecurity) |
| ModifyAuditRule(AccessControlModification, AuditRule, Boolean) |
Tillämpar den angivna ändringen på den System Access Control List (SACL) som är associerad med det här ObjectSecurity-objektet. (Ärvd från ObjectSecurity) |
| Persist(Boolean, String, AccessControlSections) |
Sparar de angivna avsnitten i säkerhetsbeskrivningen som är associerade med det här ObjectSecurity objektet till permanent lagring. Vi rekommenderar att värdena för de |
| Persist(SafeHandle, AccessControlSections, Object) |
Sparar de angivna avsnitten i säkerhetsbeskrivningen som är associerade med det här NativeObjectSecurity objektet till permanent lagring. Vi rekommenderar att värdena för de |
| Persist(SafeHandle, AccessControlSections) |
Sparar de angivna avsnitten i säkerhetsbeskrivningen som är associerade med det här NativeObjectSecurity objektet till permanent lagring. Vi rekommenderar.persist att värdena för de |
| Persist(String, AccessControlSections, Object) |
Sparar de angivna avsnitten i säkerhetsbeskrivningen som är associerade med det här NativeObjectSecurity objektet till permanent lagring. Vi rekommenderar att värdena för de |
| Persist(String, AccessControlSections) |
Sparar de angivna avsnitten i säkerhetsbeskrivningen som är associerade med det här NativeObjectSecurity objektet till permanent lagring. Vi rekommenderar att värdena för de |
| PurgeAccessRules(IdentityReference) |
Tar bort alla åtkomstregler som är associerade med den angivna IdentityReference. (Ärvd från ObjectSecurity) |
| PurgeAuditRules(IdentityReference) |
Tar bort alla granskningsregler som är associerade med angivna IdentityReference. (Ärvd från ObjectSecurity) |
| ReadLock() |
Låser det här ObjectSecurity objektet för läsåtkomst. (Ärvd från ObjectSecurity) |
| ReadUnlock() |
Låser upp det här ObjectSecurity objektet för läsåtkomst. (Ärvd från ObjectSecurity) |
| RemoveAccessRule(AccessRule) |
Tar bort åtkomstregler som innehåller samma säkerhetsidentifierare och åtkomstmask som den angivna åtkomstregeln från DACL (Discretionary Access Control List) som är associerad med det här CommonObjectSecurity-objektet. (Ärvd från CommonObjectSecurity) |
| RemoveAccessRule(FileSystemAccessRule) |
Tar bort alla matchande behörigheter för att tillåta eller neka åtkomstkontrollistor (ACL) från den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| RemoveAccessRuleAll(AccessRule) |
Tar bort alla åtkomstregler som har samma säkerhetsidentifierare som den angivna åtkomstregeln från DACL (Discretionary Access Control List) som är associerad med det här CommonObjectSecurity-objektet. (Ärvd från CommonObjectSecurity) |
| RemoveAccessRuleAll(FileSystemAccessRule) |
Tar bort alla behörigheter för åtkomstkontrollistor (ACL) för den angivna användaren från den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| RemoveAccessRuleSpecific(AccessRule) |
Tar bort alla åtkomstregler som exakt matchar den angivna åtkomstregeln från DACL (Discretionary Access Control List) som är associerad med det här objektet CommonObjectSecurity. (Ärvd från CommonObjectSecurity) |
| RemoveAccessRuleSpecific(FileSystemAccessRule) |
Tar bort en enda matchande behörighet för tillåt eller neka åtkomstkontrollista (ACL) från den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| RemoveAuditRule(AuditRule) |
Tar bort granskningsregler som innehåller samma säkerhetsidentifierare och åtkomstmask som den angivna granskningsregeln från SACL (System Access Control List) som är associerad med det här CommonObjectSecurity-objektet. (Ärvd från CommonObjectSecurity) |
| RemoveAuditRule(FileSystemAuditRule) |
Tar bort alla matchande tillåtna eller neka granskningsregler från den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| RemoveAuditRuleAll(AuditRule) |
Tar bort alla granskningsregler som har samma säkerhetsidentifierare som den angivna granskningsregeln från sacl-objektet (System Access Control List) som är associerat med det här objektet CommonObjectSecurity. (Ärvd från CommonObjectSecurity) |
| RemoveAuditRuleAll(FileSystemAuditRule) |
Tar bort alla granskningsregler för den angivna användaren från den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| RemoveAuditRuleSpecific(AuditRule) |
Tar bort alla granskningsregler som exakt matchar den angivna granskningsregeln från den System Access Control List (SACL) som är associerad med det här CommonObjectSecurity-objektet. (Ärvd från CommonObjectSecurity) |
| RemoveAuditRuleSpecific(FileSystemAuditRule) |
Tar bort en enda matchande tillåt eller neka granskningsregel från den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| ResetAccessRule(AccessRule) |
Tar bort alla åtkomstregler i DACL (Discretionary Access Control List) som är associerad med det här CommonObjectSecurity-objektet och lägger sedan till den angivna åtkomstregeln. (Ärvd från CommonObjectSecurity) |
| ResetAccessRule(FileSystemAccessRule) |
Lägger till den angivna behörigheten för åtkomstkontrollistan (ACL) till den aktuella filen eller katalogen och tar bort alla matchande ACL-behörigheter. (Ärvd från FileSystemSecurity) |
| SetAccessRule(AccessRule) |
Tar bort alla åtkomstregler som innehåller samma säkerhetsidentifierare och kvalificerare som den angivna åtkomstregeln i DACL (Discretionary Access Control List) som är associerad med det här CommonObjectSecurity-objektet och lägger sedan till den angivna åtkomstregeln. (Ärvd från CommonObjectSecurity) |
| SetAccessRule(FileSystemAccessRule) |
Anger den angivna behörigheten för åtkomstkontrollistan (ACL) för den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| SetAccessRuleProtection(Boolean, Boolean) |
Anger eller tar bort skyddet av de åtkomstregler som är associerade med det här ObjectSecurity objektet. Skyddade åtkomstregler kan inte ändras av överordnade objekt via arv. (Ärvd från ObjectSecurity) |
| SetAuditRule(AuditRule) |
Tar bort alla granskningsregler som innehåller samma säkerhetsidentifierare och kvalificerare som den angivna granskningsregeln i SACL (System Access Control List) som är associerad med det här CommonObjectSecurity-objektet och lägger sedan till den angivna granskningsregeln. (Ärvd från CommonObjectSecurity) |
| SetAuditRule(FileSystemAuditRule) |
Anger den angivna granskningsregeln för den aktuella filen eller katalogen. (Ärvd från FileSystemSecurity) |
| SetAuditRuleProtection(Boolean, Boolean) |
Anger eller tar bort skyddet av granskningsreglerna som är associerade med det här ObjectSecurity objektet. Skyddade granskningsregler kan inte ändras av överordnade objekt genom arv. (Ärvd från ObjectSecurity) |
| SetGroup(IdentityReference) |
Anger den primära gruppen för säkerhetsbeskrivningen som är associerad med det här ObjectSecurity objektet. (Ärvd från ObjectSecurity) |
| SetOwner(IdentityReference) |
Anger ägaren för säkerhetsbeskrivningen som är associerad med det här ObjectSecurity objektet. (Ärvd från ObjectSecurity) |
| SetSecurityDescriptorBinaryForm(Byte[], AccessControlSections) |
Anger de angivna avsnitten i säkerhetsbeskrivningen för det här ObjectSecurity objektet från den angivna matrisen med bytevärden. (Ärvd från ObjectSecurity) |
| SetSecurityDescriptorBinaryForm(Byte[]) |
Anger säkerhetsbeskrivningen för det här ObjectSecurity objektet från den angivna matrisen med bytevärden. (Ärvd från ObjectSecurity) |
| SetSecurityDescriptorSddlForm(String, AccessControlSections) |
Anger de angivna avsnitten i säkerhetsbeskrivningen för det här ObjectSecurity objektet från den angivna SDDL-strängen (Security Descriptor Definition Language). (Ärvd från ObjectSecurity) |
| SetSecurityDescriptorSddlForm(String) |
Anger säkerhetsbeskrivningen för det här ObjectSecurity objektet från den angivna SDDL-strängen (Security Descriptor Definition Language). (Ärvd från ObjectSecurity) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| WriteLock() |
Låser det här ObjectSecurity objektet för skrivåtkomst. (Ärvd från ObjectSecurity) |
| WriteUnlock() |
Låser upp det här ObjectSecurity objektet för skrivåtkomst. (Ärvd från ObjectSecurity) |