Delen via


CDacl-klasse

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Deze klasse is een wrapper voor een DACL-structuur (discretionaire toegangsbeheerlijst).

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

class CDacl : public CAcl

Leden

Openbare constructors

Naam Description
CDacl::CDacl De constructor.
CDacl::~CDacl De destructor.

Openbare methoden

Naam Description
CDacl::AddAllowedAce Hiermee voegt u een toegestane ACE (toegangsbeheervermelding) toe aan het CDacl object.
CDacl::AddDeniedAce Voegt een geweigerde ACE toe aan het CDacl object.
CDacl::GetAceCount Retourneert het aantal ACL's (toegangsbeheervermeldingen) in het CDacl object.
CDacl::RemoveAce Hiermee verwijdert u een specifieke ACE (toegangsbeheervermelding) uit het CDacl object.
CDacl::RemoveAllAces Hiermee verwijdert u alle ACL's in het CDacl object.

Openbare operators

Naam Description
CDacl::operator = Toewijzingsoperator.

Opmerkingen

De beveiligingsdescriptor van een object kan een DACL bevatten. Een DACL bevat nul of meer ACL's (toegangsbeheervermeldingen) die de gebruikers en groepen identificeren die toegang hebben tot het object. Als een DACL leeg is (dat wil gezegd, het bevat nul ACL's), wordt er geen toegang expliciet verleend, zodat de toegang impliciet wordt geweigerd. Als de beveiligingsdescriptor van een object echter geen DACL heeft, is het object niet beveiligd en heeft iedereen volledige toegang.

Als u de DACL van een object wilt ophalen, moet u de eigenaar van het object zijn of READ_CONTROL toegang tot het object hebben. Als u de DACL van een object wilt wijzigen, moet u WRITE_DAC toegang hebben tot het object.

Gebruik de klassenmethoden om ACL's te maken, toe te voegen, te verwijderen en te verwijderen uit het CDacl object. Zie ook AtlGetDacl en AtlSetDacl.

Zie Access Control in de Windows SDK voor een inleiding tot het toegangsbeheermodel in Windows.

Overnamehiƫrarchie

Cacl

CDacl

Requirements

Koptekst: atlsecurity.h

CDacl::AddAllowedAce

Hiermee voegt u een toegestane ACE (toegangsbeheervermelding) toe aan het CDacl object.

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(...);

Parameterwaarden

rSid
Een CSid-object .

AccessMask
Hiermee geeft u het masker van toegangsrechten moet worden toegestaan voor het opgegeven CSid object.

AceFlags
Een set bitvlagken waarmee ACE-overname wordt bepaald.

pObjectType
Het objecttype.

pInheritedObjectType
Het overgenomen objecttype.

Retourwaarde

Retourneert TRUE als de ACE wordt toegevoegd aan het CDacl object, ONWAAR bij fout.

Opmerkingen

Een CDacl object bevat nul of meer ACL's (toegangsbeheervermeldingen) die de gebruikers en groepen identificeren die toegang hebben tot het object. Met deze methode wordt een ACE toegevoegd die toegang tot het CDacl object toestaat.

Zie ACE_HEADER voor een beschrijving van de verschillende vlaggen die in de AceFlags parameter kunnen worden ingesteld.

CDacl::AddDeniedAce

Voegt een geweigerde ACE (toegangsbeheervermelding) toe aan het CDacl object.

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(...);

Parameterwaarden

rSid
Een CSid-object.

AccessMask
Hiermee geeft u het masker van toegangsrechten moet worden geweigerd voor het opgegeven CSid object.

AceFlags
Een set bitvlagken waarmee ACE-overname wordt bepaald. De standaardwaarde is 0 in de eerste vorm van de methode.

pObjectType
Het objecttype.

pInheritedObjectType
Het overgenomen objecttype.

Retourwaarde

Retourneert TRUE als de ACE wordt toegevoegd aan het CDacl object, ONWAAR bij fout.

Opmerkingen

Een CDacl object bevat nul of meer ACL's (toegangsbeheervermeldingen) die de gebruikers en groepen identificeren die toegang hebben tot het object. Met deze methode wordt een ACE toegevoegd die de toegang tot het CDacl object weigert.

Zie ACE_HEADER voor een beschrijving van de verschillende vlaggen die in de AceFlags parameter kunnen worden ingesteld.

CDacl::CDacl

De constructor.

CDacl (const ACL& rhs) throw(...);
CDacl () throw();

Parameterwaarden

Rhs
Een bestaande ACL structuur (toegangsbeheerlijst).

Opmerkingen

Het CDacl object kan eventueel worden gemaakt met behulp van een bestaande ACL structuur. Het is belangrijk om te weten dat alleen een DACL (discretionaire toegangsbeheerlijst) en niet een SACL (systeemtoegangsbeheerlijst) als deze parameter moet worden doorgegeven. In builds voor foutopsporing zorgt het doorgeven van een SACL voor een ASSERT. In release-builds zorgt het doorgeven van een SACL ervoor dat de ACL's (toegangsbeheervermeldingen) in de ACL worden genegeerd en er treedt geen fout op.

CDacl::~CDacl

De destructor.

~CDacl () throw();

Opmerkingen

De destructor maakt alle resources die zijn verkregen door het object vrij, inclusief alle ACL's (toegangsbeheervermeldingen) met CDacl::RemoveAllAces.

CDacl::GetAceCount

Retourneert het aantal ACL's (toegangsbeheervermeldingen) in het CDacl object.

UINT GetAceCount() const throw();

Retourwaarde

Retourneert het aantal ACL's in het CDacl object.

CDacl::operator =

Toewijzingsoperator.

CDacl& operator= (const ACL& rhs) throw(...);

Parameterwaarden

Rhs
De ACL (toegangsbeheerlijst) die moet worden toegewezen aan het bestaande object.

Retourwaarde

Retourneert een verwijzing naar het bijgewerkte CDacl object.

Opmerkingen

U moet ervoor zorgen dat u alleen een DACL (discretionaire toegangsbeheerlijst) aan deze functie doorgeeft. Het doorgeven van een SACL (systeemtoegangsbeheerlijst) aan deze functie veroorzaakt een ASSERT in foutopsporingsversies, maar veroorzaakt geen fout in release-builds.

CDacl::RemoveAce

Hiermee verwijdert u een specifieke ACE (toegangsbeheervermelding) uit het CDacl object.

void RemoveAce(UINT nIndex) throw();

Parameterwaarden

nIndex
Indexeren naar de ACE-vermelding die u wilt verwijderen.

Opmerkingen

Deze methode is afgeleid van CAtlArray::RemoveAt.

CDacl::RemoveAllAces

Hiermee verwijdert u alle ACL's (toegangsbeheervermeldingen) in het CDacl object.

void RemoveAllAces() throw();

Opmerkingen

Hiermee verwijdert u elke ACE structuur (indien van toepassing) in het CDacl object (toegangsbeheer).

Zie ook

Beveiligingsvoorbeeld
CAcl-klasse
Acls
Azen
Overzicht van klassen
Globale beveiligingsfuncties