Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Klasse ist ein Wrapper für eine DACL-Struktur (diskretionäre Zugriffssteuerungsliste).
Wichtig
Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.
Syntax
class CDacl : public CAcl
Member
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
| CDacl::CDacl | Der Konstruktor. |
| CDacl::~CDacl | Der Destruktor. |
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| CDacl::AddAllowedAce | Fügt dem CDacl Objekt einen zulässigen ACE -Eintrag (Zugriffssteuerungseintrag) hinzu. |
| CDacl::AddDeniedAce | Fügt dem CDacl Objekt eine verweigerte ACE hinzu. |
| CDacl::GetAceCount | Gibt die Anzahl der ACEs (Zugriffssteuerungseinträge) im CDacl Objekt zurück. |
| CDacl::RemoveAce | Entfernt einen bestimmten ACE -Eintrag (Zugriffssteuerungseintrag) aus dem CDacl Objekt. |
| CDacl::RemoveAllAces | Entfernt alle im CDacl Objekt enthaltenen ACEs. |
Öffentliche Operatoren
| Name | Beschreibung |
|---|---|
| CDacl::operator = | Zuweisungsoperator. |
Hinweise
Die Sicherheitsbeschreibung eines Objekts kann eine DACL enthalten. Eine DACL enthält null oder mehr ACEs (Zugriffssteuerungseinträge), die die Benutzer und Gruppen identifizieren, die auf das Objekt zugreifen können. Wenn eine DACL leer ist (d. h., sie enthält null ACEs), wird kein Zugriff explizit gewährt, sodass der Zugriff implizit verweigert wird. Wenn der Sicherheitsdeskriptor eines Objekts jedoch nicht über eine DACL verfügt, ist das Objekt nicht geschützt, und jeder hat vollständigen Zugriff.
Um die DACL eines Objekts abzurufen, müssen Sie der Besitzer des Objekts sein oder READ_CONTROL Zugriff auf das Objekt haben. Um die DACL eines Objekts zu ändern, müssen Sie über WRITE_DAC Zugriff auf das Objekt verfügen.
Verwenden Sie die Klassenmethoden, die zum Erstellen, Hinzufügen, Entfernen und Löschen von ACEs aus dem CDacl Objekt bereitgestellt werden. Siehe auch AtlGetDacl und AtlSetDacl.
Eine Einführung in das Zugriffssteuerungsmodell in Windows finden Sie unter Access Control im Windows SDK.
Vererbungshierarchie
CDacl
Anforderungen
Kopfzeile: atlsecurity.h
CDacl::AddAllowedAce
Fügt dem CDacl Objekt einen zulässigen ACE -Eintrag (Zugriffssteuerungseintrag) hinzu.
bool AddAllowedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags = 0) throw(...);
bool AddAllowedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Parameter
rSid
Ein CSid-Objekt .
AccessMask
Gibt die Maske der Zugriffsrechte an, die für das angegebene CSid Objekt zulässig sind.
AceFlags
Eine Reihe von Bitkennzeichnungen, die die ACE-Vererbung steuern.
pObjectType
Der Objekttyp.
pInheritedObjectType
Der geerbte Objekttyp.
Rückgabewert
Gibt TRUE zurück, wenn die ACE dem CDacl Objekt hinzugefügt wird, false bei Fehler.
Hinweise
Ein CDacl Objekt enthält null oder mehr ACEs (Zugriffssteuerungseinträge), die die Benutzer und Gruppen identifizieren, die auf das Objekt zugreifen können. Diese Methode fügt eine ACE hinzu, die den Zugriff auf das CDacl Objekt ermöglicht.
Eine Beschreibung der verschiedenen Flags, die im Parameter festgelegt werden können, finden Sie unter AceFlags ACE_HEADER.
CDacl::AddDeniedAce
Fügt dem CDacl Objekt eine verweigerte ACE (Zugriffssteuerungseintrag) hinzu.
bool AddDeniedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags = 0) throw(...);
bool AddDeniedAce(
const CSid& rSid,
ACCESS_MASK AccessMask,
BYTE AceFlags,
const GUID* pObjectType,
const GUID* pInheritedObjectType) throw(...);
Parameter
rSid
Ein CSid-Objekt.
AccessMask
Gibt die Maske der Zugriffsrechte an, die für das angegebene CSid Objekt verweigert werden sollen.
AceFlags
Eine Reihe von Bitkennzeichnungen, die die ACE-Vererbung steuern. Der Standardwert ist 0 in der ersten Form der Methode.
pObjectType
Der Objekttyp.
pInheritedObjectType
Der geerbte Objekttyp.
Rückgabewert
Gibt TRUE zurück, wenn die ACE dem CDacl Objekt hinzugefügt wird, false bei Fehler.
Hinweise
Ein CDacl Objekt enthält null oder mehr ACEs (Zugriffssteuerungseinträge), die die Benutzer und Gruppen identifizieren, die auf das Objekt zugreifen können. Diese Methode fügt eine ACE hinzu, die den Zugriff auf das CDacl Objekt verweigert.
Eine Beschreibung der verschiedenen Flags, die im Parameter festgelegt werden können, finden Sie unter AceFlags ACE_HEADER.
CDacl::CDacl
Der Konstruktor.
CDacl (const ACL& rhs) throw(...);
CDacl () throw();
Parameter
rhs
Eine vorhandene ACL Struktur (Zugriffssteuerungsliste).
Hinweise
Das CDacl Objekt kann optional mithilfe einer vorhandenen ACL Struktur erstellt werden. Es ist wichtig zu beachten, dass nur eine DACL (diskretionäre Zugriffssteuerungsliste) und keine SACL (Systemzugriffssteuerungsliste) als dieser Parameter übergeben werden sollte. Bei Debugbuilds führt das Übergeben einer SACL zu einer ASSERTION. Bei Releasebuilds führt das Übergeben einer SACL dazu, dass die ACEs (Zugriffssteuerungseinträge) in der ACL ignoriert werden, und es tritt kein Fehler auf.
CDacl::~CDacl
Der Destruktor.
~CDacl () throw();
Hinweise
Der Destruktor gibt alle vom Objekt erworbenen Ressourcen frei, einschließlich aller ACEs (Zugriffssteuerungseinträge) mit CDacl::RemoveAllAces.
CDacl::GetAceCount
Gibt die Anzahl der ACEs (Zugriffssteuerungseinträge) im CDacl Objekt zurück.
UINT GetAceCount() const throw();
Rückgabewert
Gibt die Anzahl der im CDacl Objekt enthaltenen ACEs zurück.
CDacl::operator =
Zuweisungsoperator.
CDacl& operator= (const ACL& rhs) throw(...);
Parameter
rhs
Die ACL (Zugriffssteuerungsliste), die dem vorhandenen Objekt zugewiesen werden soll.
Rückgabewert
Gibt einen Verweis auf das aktualisierte CDacl Objekt zurück.
Hinweise
Sie sollten sicherstellen, dass Sie nur eine DACL (diskretionäre Zugriffssteuerungsliste) an diese Funktion übergeben. Das Übergeben einer SACL (Systemzugriffssteuerungsliste) an diese Funktion führt zu einer ASSERTION in Debugbuilds, verursacht aber keinen Fehler in Releasebuilds.
CDacl::RemoveAce
Entfernt einen bestimmten ACE -Eintrag (Zugriffssteuerungseintrag) aus dem CDacl Objekt.
void RemoveAce(UINT nIndex) throw();
Parameter
nIndex
Index zum Entfernen des ACE-Eintrags.
Hinweise
Diese Methode wird von CAtlArray::RemoveAt abgeleitet.
CDacl::RemoveAllAces
Entfernt alle ACEs (Zugriffssteuerungseinträge), die CDacl im Objekt enthalten sind.
void RemoveAllAces() throw();
Hinweise
Entfernt jede ACE (access-control entry)-Struktur (falls vorhanden) im CDacl Objekt.
Siehe auch
Sicherheitsbeispiel
CAcl-Klasse
ACLs
Asse
Klassenübersicht
Globale Sicherheitsfunktionen