Exportieren (0) Drucken
Alle erweitern

CommonAcl-Klasse

Aktualisiert: November 2007

Stellt eine Zugriffssteuerungsliste (ACL) dar und ist die Basisklasse für die DiscretionaryAcl-Klasse und die SystemAcl-Klasse.

Namespace:  System.Security.AccessControl
Assembly:  mscorlib (in mscorlib.dll)

public abstract class CommonAcl : GenericAcl
public abstract class CommonAcl extends GenericAcl
public abstract class CommonAcl extends GenericAcl

  • Bestimmte Kombinationen von Vererbungs- und Zugriffsmaskenflags haben keine Bedeutung:

  • Jeder Zugriffssteuerungseintrag (ACE) mit der Zugriffsmaske 0 (null) wird entfernt.

  • ACEs mit dem Flag InheritOnly innerhalb von ACL-Objekten werden entfernt.

  • Die Flags InheritOnly, NoPropagateInherit, [F:System.Security.AccessControl.InheritanceFlags.ContainerInherit,] und ObjectInherit von allen ACEs in Endobjekt-ACLs werden gelöscht.

  • ACEs mit InheritOnly-Flag, aber ohne ContainerInherit-Flag oder ObjectInherit-Flag sind bedeutungslos und werden entfernt.

  • Das NoPropagateInherit-Flag ohne ContainerInherit-Flag oder ObjectInherit-Flag kann entfernt werden.

  • ACEs mit dem AuditFlags-Wert [F: System.Security.AccessControl.AuditFlags.Success] oder Failure in freigegebenen Zugriffssteuerungslisten (DACL – Discretionary Access Control List) werden entfernt.

  • Ein Überwachungs-ACE ohne [F: System.Security.AccessControl.AuditFlags.Success] oder Failure wird entfernt.

  • SystemAudit- und SystemAlarm-ACEs in DACLs werden entfernt.

  • In Systemzugriffssteuerungslisten (SACLs) werden AccessAllowed- und AccessDenied-ACEs entfernt.

Mit dem folgenden Algorithmus wird eine kanonische Reihenfolge festgelegt:

  • Explizite ACEs haben Vorrang vor geerbten ACEs. Diese Regel gilt sowohl für DACLs als auch SACLs.

  • In DACLs haben die expliziten ACEs, die Zugriff verweigern, Vorrang vor expliziten ACEs, die Zugriff gewähren. Bei Verzeichnisobjekt-ACLs haben ACEs, die keine Objekte sind, Vorrang vor ACEs, die Objekte sind.

  • Alle häufigen ACEs haben Vorrang vor den anderen ACEs.

  • Geerbte ACEs behalten ihre relative Reihenfolge nach Kanonizität bei.

  • Nicht erkannte und benutzerdefinierte ACEs sind weder in DACLs noch in SACLs zulässig.

  • Innerhalb zusammenhängender Bereiche (explizite AccessDenied- und AccessAllowed-ACEs in DACLs, alle expliziten ACEs in SACLs) werden die ACEs mithilfe der CompareTo()-Methoden der den ACEs zugeordneten SecurityIdentifier-Objekte sortiert.

Benachbarte ACEs werden gegebenenfalls kombiniert. Dadurch verringert sich die Größe der ACL, ohne dass die Semantik für die Zugriffssteuerung beeinflusst wird.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft