(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

DirectorySecurity-Klasse

Stellt die Zugriffssteuerung und die Überwachungssicherheit für ein Verzeichnis dar. Diese Klasse kann nicht vererbt werden.

Namespace:  System.Security.AccessControl
Assembly:  mscorlib (in mscorlib.dll)
public ref class DirectorySecurity sealed : public FileSystemSecurity

Der DirectorySecurity-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeDirectorySecurity()Initialisiert eine neue Instanz der DirectorySecurity-Klasse.
Öffentliche MethodeDirectorySecurity(String, AccessControlSections)Initialisiert mithilfe der angegebenen Werte der AccessControlSections-Enumeration eine neue Instanz der DirectorySecurity-Klasse aus einem angegebenen Verzeichnis.
Zum Seitenanfang
  NameBeschreibung
Öffentliche EigenschaftAccessRightTypeRuft die Enumeration ab, mit deren Hilfe die FileSystemSecurity-Klasse Zugriffsrechte darstellt. (Von FileSystemSecurity geerbt.)
Öffentliche EigenschaftAccessRuleTypeRuft die Enumeration ab, mit deren Hilfe die FileSystemSecurity-Klasse Zugriffsregeln darstellt. (Von FileSystemSecurity geerbt.)
Öffentliche EigenschaftAreAccessRulesCanonicalRuft einen booleschen Wert ab, der angibt, ob die diesem ObjectSecurity-Objekt zugeordneten Zugriffsregeln in kanonischer Reihenfolge vorliegen. (Von ObjectSecurity geerbt.)
Öffentliche EigenschaftAreAccessRulesProtectedRuft einen booleschen Wert ab, der angibt, ob die freigegebene Zugriffssteuerungsliste (DACL – Discretionary Access Control List), die diesem ObjectSecurity-Objekt zugeordnet ist, geschützt ist. (Von ObjectSecurity geerbt.)
Öffentliche EigenschaftAreAuditRulesCanonicalRuft einen booleschen Wert ab, der angibt, ob die diesem ObjectSecurity-Objekt zugeordneten Überwachungsregeln in kanonischer Reihenfolge vorliegen. (Von ObjectSecurity geerbt.)
Öffentliche EigenschaftAreAuditRulesProtectedRuft einen booleschen Wert ab, der angibt, ob die Systemzugriffssteuerungsliste (SACL – System Access Control List), die diesem ObjectSecurity-Objekt zugeordnet ist, geschützt ist. (Von ObjectSecurity geerbt.)
Öffentliche EigenschaftAuditRuleTypeRuft den Typ ab, mit dessen Hilfe die FileSystemSecurity-Klasse Überwachungsregeln darstellt. (Von FileSystemSecurity geerbt.)
Zum Seitenanfang
  NameBeschreibung
Öffentliche MethodeAccessRuleFactoryInitialisiert eine neue Instanz der FileSystemAccessRule-Klasse, die eine neue Zugriffssteuerungsregel für den angegebenen Benutzer mit den angegebenen Zugriffsrechten und Flags sowie der angegebenen Zugriffssteuerung darstellt. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeAddAccessRule(FileSystemAccessRule)Fügt der aktuellen Datei bzw. dem aktuellen Verzeichnis die angegebene ACL-Berechtigung hinzu. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeAddAuditRule(FileSystemAuditRule)Fügt der aktuellen Datei bzw. dem aktuellen Verzeichnis die angegebene Überwachungsregel hinzu. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeAuditRuleFactoryInitialisiert eine neue Instanz der FileSystemAuditRule-Klasse, die die angegebene Überwachungsregel für den angegebenen Benutzer darstellt. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeGetAccessRulesRuft eine Auflistung der Zugriffsregeln ab, die der angegebenen Sicherheits-ID zugeordnet sind. (Von CommonObjectSecurity geerbt.)
Öffentliche MethodeGetAuditRulesRuft eine Auflistung der Überwachungsregeln ab, die der angegebenen Sicherheits-ID zugeordnet sind. (Von CommonObjectSecurity geerbt.)
Öffentliche MethodeGetGroupRuft die primäre Gruppe ab, die dem angegebenen Besitzer zugeordnet ist. (Von ObjectSecurity geerbt.)
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetOwnerRuft den Benutzer ab, der der angegebenen primären Gruppe zugeordnet ist. (Von ObjectSecurity geerbt.)
Öffentliche MethodeGetSecurityDescriptorBinaryFormGibt ein Array von Bytewerten zurück, das die Sicherheitsbeschreibungsinformationen für dieses ObjectSecurity-Objekt darstellt. (Von ObjectSecurity geerbt.)
Öffentliche MethodeGetSecurityDescriptorSddlFormGibt die SDDL-Darstellung (Security Descriptor Definition Language) der angegebenen Abschnitte der von diesem ObjectSecurity-Objekt dargestellten Sicherheitsbeschreibung zurück. (Von ObjectSecurity geerbt.)
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeModifyAccessRuleWendet die angegebene Änderung auf die freigegebene Zugriffssteuerungsliste (DACL – Discretionary Access Control List) an, die diesem ObjectSecurity-Objekt zugeordnet ist. (Von ObjectSecurity geerbt.)
Öffentliche MethodeModifyAuditRuleWendet die angegebene Änderung auf die Systemzugriffssteuerungsliste (SACL – System Access Control List) an, die diesem ObjectSecurity-Objekt zugeordnet ist. (Von ObjectSecurity geerbt.)
Öffentliche MethodePurgeAccessRulesEntfernt alle der angegebenen IdentityReference zugeordneten Zugriffsregeln. (Von ObjectSecurity geerbt.)
Öffentliche MethodePurgeAuditRulesEntfernt alle der angegebenen IdentityReference zugeordneten Überwachungsregeln. (Von ObjectSecurity geerbt.)
Öffentliche MethodeRemoveAccessRule(FileSystemAccessRule)Entfernt alle entsprechenden Allow- oder Deny-ACL-Berechtigungen aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeRemoveAccessRuleAll(FileSystemAccessRule)Entfernt alle ACL-Berechtigungen für den angegebenen Benutzer aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeRemoveAccessRuleSpecific(FileSystemAccessRule)Entfernt eine einzelne entsprechende Allow- oder Deny-ACL-Berechtigung zum Gewähren oder Verweigern aus der aktuellen Datei bzw. dem Verzeichnis. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeRemoveAuditRule(FileSystemAuditRule)Entfernt alle entsprechenden Allow- oder Deny-Überwachungsregeln aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeRemoveAuditRuleAll(FileSystemAuditRule)Entfernt alle Überwachungsregeln für den angegebenen Benutzer aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeRemoveAuditRuleSpecific(FileSystemAuditRule)Entfernt eine einzelne entsprechende Allow- oder Deny-Überwachungsregel aus der aktuellen Datei bzw. dem aktuellen Verzeichnis. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeResetAccessRule(FileSystemAccessRule)Fügt der aktuellen Datei bzw. dem aktuellen Verzeichnis die angegebene ACL-Berechtigung hinzu und entfernt alle entsprechenden ACL-Berechtigungen. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeSetAccessRule(FileSystemAccessRule)Legt die angegebene ACL-Berechtigung für die aktuelle Datei bzw. das aktuelle Verzeichnis fest. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeSetAccessRuleProtectionLegt den Schutz der Zugriffsregeln fest, die diesem ObjectSecurity-Objekt zugeordnet sind, oder entfernt diesen. Geschützte Zugriffsregeln können von übergeordneten Objekten nicht durch Vererbung geändert werden. (Von ObjectSecurity geerbt.)
Öffentliche MethodeSetAuditRule(FileSystemAuditRule)Legt die angegebene Überwachungsregel für die aktuelle Datei bzw. das aktuelle Verzeichnis fest. (Von FileSystemSecurity geerbt.)
Öffentliche MethodeSetAuditRuleProtectionLegt den Schutz der Überwachungsregeln fest, die diesem ObjectSecurity-Objekt zugeordnet sind, oder entfernt diesen. Geschützte Überwachungsregeln können von übergeordneten Objekten nicht durch Vererbung geändert werden. (Von ObjectSecurity geerbt.)
Öffentliche MethodeSetGroupLegt die primäre Gruppe für die Sicherheitsbeschreibung fest, die diesem ObjectSecurity-Objekt zugeordnet ist. (Von ObjectSecurity geerbt.)
Öffentliche MethodeSetOwnerLegt den Besitzer der Sicherheitsbeschreibung fest, die diesem ObjectSecurity-Objekt zugeordnet ist. (Von ObjectSecurity geerbt.)
Öffentliche MethodeSetSecurityDescriptorBinaryForm(array<Byte>)Legt die Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt durch das angegebene Array von Bytewerten fest. (Von ObjectSecurity geerbt.)
Öffentliche MethodeSetSecurityDescriptorBinaryForm(array<Byte>, AccessControlSections)Legt die angegebenen Abschnitte der Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt durch das angegebene Array von Bytewerten fest. (Von ObjectSecurity geerbt.)
Öffentliche MethodeSetSecurityDescriptorSddlForm(String)Legt die Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt durch die angegebene SDDL-Zeichenfolge (Security Descriptor Definition Language) fest. (Von ObjectSecurity geerbt.)
Öffentliche MethodeSetSecurityDescriptorSddlForm(String, AccessControlSections)Legt die angegebenen Abschnitte der Sicherheitsbeschreibung für dieses ObjectSecurity-Objekt durch die angegebene SDDL-Zeichenfolge (Security Descriptor Definition Language) fest. (Von ObjectSecurity geerbt.)
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

Die DirectorySecurity-Klasse gibt die Zugriffsrechte für ein Systemverzeichnis an und gibt an, wie Zugriffsversuche überwacht werden. Die Klasse stellt Zugriffs- und Überwachungsrechte als Regeln dar. Jede Zugriffsregel wird durch ein FileSystemAccessRule-Objekt dargestellt, und jede Überwachungsregel wird durch ein FileSystemAuditRule-Objekt dargestellt.

Die DirectorySecurity-Klasse ist eine Abstraktion des zugrunde liegenden Dateisicherheitssystems von Windows. In diesem System verfügt jedes Verzeichnis über eine freigegebene Zugriffssteuerungsliste (Discretionary Access Control List, DACL), mit der der Zugriff auf das Verzeichnis gesteuert wird, sowie über eine Systemzugriffssteuerungsliste (System Access Control List, SACL), mit der die überwachten Zugriffssteuerungsversuche angegeben werden. Die FileSystemAccessRule-Klasse und die FileSystemAuditRule-Klasse stellen Abstraktionen von Access Control Attempts (ACE – Zugriffssteuerungseintrag) dar, zu denen DACLs und SACLs gehören.

Die DirectorySecurity-Klasse blendet viele Details von DACLs und SACLs aus. Es sind keine Überlegungen zur ACE-Reihenfolge oder zu NULL-DACLS erforderlich.

Verwenden Sie die FileSecurity-Klasse, um die Zugriffsregeln abzurufen, hinzuzufügen bzw. zu ändern, die die DACL und SACL einer Datei darstellen.

In den folgenden Tabellen sind die Methoden, die Sie verwenden können, um auf Verzeichnissicherheit zuzugreifen und sie zu verwalten, aufgeführt.

Im folgenden Codebeispiel wird die DirectorySecurity-Klasse verwendet, um einer Datei einen ACL-Eintrag hinzuzufügen und diesen dann wieder aus der Datei zu entfernen. Sie müssen ein gültiges Benutzer- oder Gruppenkonto angeben, um dieses Beispiel auszuführen.


using namespace System;
using namespace System::IO;
using namespace System::Security::AccessControl;

// Adds an ACL entry on the specified directory for the
// specified account.
void AddDirectorySecurity(String^ directoryName, String^ account, 
     FileSystemRights rights, AccessControlType controlType)
{
    // Create a new DirectoryInfo object.
    DirectoryInfo^ dInfo = gcnew DirectoryInfo(directoryName);

    // Get a DirectorySecurity object that represents the
    // current security settings.
    DirectorySecurity^ dSecurity = dInfo->GetAccessControl();

    // Add the FileSystemAccessRule to the security settings.
    dSecurity->AddAccessRule( gcnew FileSystemAccessRule(account,
        rights, controlType));

    // Set the new access settings.
    dInfo->SetAccessControl(dSecurity);
}

// Removes an ACL entry on the specified directory for the
// specified account.
void RemoveDirectorySecurity(String^ directoryName, String^ account,
     FileSystemRights rights, AccessControlType controlType)
{
    // Create a new DirectoryInfo object.
    DirectoryInfo^ dInfo = gcnew DirectoryInfo(directoryName);

    // Get a DirectorySecurity object that represents the
    // current security settings.
    DirectorySecurity^ dSecurity = dInfo->GetAccessControl();

    // Add the FileSystemAccessRule to the security settings.
    dSecurity->RemoveAccessRule(gcnew FileSystemAccessRule(account,
        rights, controlType));

    // Set the new access settings.
    dInfo->SetAccessControl(dSecurity);
}    

int main()
{
    String^ directoryName = "TestDirectory";
    String^ accountName = "MYDOMAIN\\MyAccount";
    if (!Directory::Exists(directoryName))
    {
        Console::WriteLine("The directory {0} could not be found.", 
            directoryName);
        return 0;
    }
    try
    {
        Console::WriteLine("Adding access control entry for {0}",
            directoryName);

        // Add the access control entry to the directory.
        AddDirectorySecurity(directoryName, accountName,
            FileSystemRights::ReadData, AccessControlType::Allow);

        Console::WriteLine("Removing access control entry from {0}",
            directoryName);

        // Remove the access control entry from the directory.
        RemoveDirectorySecurity(directoryName, accountName, 
            FileSystemRights::ReadData, AccessControlType::Allow);

        Console::WriteLine("Done.");
    }
    catch (UnauthorizedAccessException^)
    {
        Console::WriteLine("You are not authorised to carry" +
            " out this procedure.");
    }
    catch (System::Security::Principal::
        IdentityNotMappedException^)
    {
        Console::WriteLine("The account {0} could not be found.", accountName);
    }
}



.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.