Sdílet prostřednictvím


CDacl – třída

Tato třída je obálka pro strukturu DACL (volitelného seznamu řízení přístupu).

Důležité

Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.

Syntaxe

class CDacl : public CAcl

Členové

Veřejné konstruktory

Název Popis
CDacl::CDacl Konstruktor
CDacl::~CDacl Destruktor.

Veřejné metody

Název Popis
CDacl::AddAllowedAce Přidá do objektu CDacl povolenou položku ACE (access-control).
CDacl::AddDeniedAce Přidá do objektu CDacl odepřenou ACE.
CDacl::GetAceCount Vrátí počet ACL (položky řízení přístupu) v objektu CDacl .
CDacl::RemoveAce Odebere konkrétní položku ACE (access-control) z objektu CDacl .
CDacl::RemoveAllAces Odebere všechny objekty ACL obsažené v objektu CDacl .

Veřejné operátory

Název Popis
CDacl::operator = Operátor přiřazení.

Poznámky

Popisovač zabezpečení objektu může obsahovat seznam DACL. Seznam DACL obsahuje nula nebo více ACL (položky řízení přístupu), které identifikují uživatele a skupiny, kteří mají přístup k objektu. Pokud je seznam DACL prázdný (to znamená, že obsahuje nulové řízení přístupu), není explicitně udělen žádný přístup, takže přístup je implicitně odepřen. Pokud však popisovač zabezpečení objektu nemá seznam DACL, objekt je nechráněný a každý má úplný přístup.

Chcete-li načíst seznam DACL objektu, musíte být vlastníkem objektu nebo mít k objektu READ_CONTROL přístup. Pokud chcete změnit seznam DACL objektu, musíte mít WRITE_DAC přístup k objektu.

Použijte metody třídy, které jsou k dispozici k vytvoření, přidání, odebrání a odstranění ACL z objektu CDacl . Viz také AtlGetDacl a AtlSetDacl.

Úvod k modelu řízení přístupu ve Windows najdete v tématu Řízení přístupu v sadě Windows SDK.

Hierarchie dědičnosti

Seznam CACL

CDacl

Požadavky

Hlavička: atlsecurity.h

CDacl::AddAllowedAce

Přidá do objektu CDacl povolenou položku ACE (access-control).

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

Parametry

rSid
Objekt CSid .

AccessMask
Určuje masku přístupových práv, která mají být povolena pro zadaný CSid objekt.

AceFlags
Sada bitových příznaků, které řídí dědičnost ACE.

pObjectType
Typ objektu.

pInheritedObjectType
Typ zděděného objektu.

Návratová hodnota

Vrátí hodnotu TRUE, pokud je ACE přidána do objektu CDacl , FALSE při selhání.

Poznámky

Objekt CDacl obsahuje nula nebo více ACL (položky řízení přístupu), které identifikují uživatele a skupiny, kteří mají přístup k objektu. Tato metoda přidá ACE, která umožňuje přístup k objektu CDacl .

Popis různých příznaků, které lze nastavit v parametruAceFlags, najdete v ACE_HEADER.

CDacl::AddDeniedAce

Přidá objektu odepřenou položku ACE (položka CDacl řízení přístupu).

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

Parametry

rSid
Objekt CSid .

AccessMask
Určuje masku přístupových práv, která mají být odepřena pro zadaný CSid objekt.

AceFlags
Sada bitových příznaků, které řídí dědičnost ACE. Výchozí hodnota je 0 v první podobě metody.

pObjectType
Typ objektu.

pInheritedObjectType
Typ zděděného objektu.

Návratová hodnota

Vrátí hodnotu TRUE, pokud je ACE přidána do objektu CDacl , FALSE při selhání.

Poznámky

Objekt CDacl obsahuje nula nebo více ACL (položky řízení přístupu), které identifikují uživatele a skupiny, kteří mají přístup k objektu. Tato metoda přidá ACE, která odepře přístup k objektu CDacl .

Popis různých příznaků, které lze nastavit v parametruAceFlags, najdete v ACE_HEADER.

CDacl::CDacl

Konstruktor

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

Parametry

rhs
Existující ACL struktura (seznam řízení přístupu)

Poznámky

Objekt CDacl lze volitelně vytvořit pomocí existující ACL struktury. Je důležité si uvědomit, že jako tento parametr by se měl předávat pouze seznam DACL (volitelný seznam řízení přístupu) a ne SACL (seznam řízení přístupu systému). V buildech ladění způsobí předání SACL výraz ASSERT. V buildech vydaných verzí bude předání SACL způsobit ignorování ACL (položky řízení přístupu) v seznamu ACL a nedojde k žádné chybě.

CDacl::~CDacl

Destruktor.

~CDacl () throw();

Poznámky

Destruktor uvolní všechny prostředky získané objektem, včetně všech ACL (položek řízení přístupu) pomocí CDacl::RemoveAllAces.

CDacl::GetAceCount

Vrátí počet ACL (položky řízení přístupu) v objektu CDacl .

UINT GetAceCount() const throw();

Návratová hodnota

Vrátí počet ACL obsažených v objektu CDacl .

CDacl::operator =

Operátor přiřazení.

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

Parametry

rhs
Seznam ACL (seznam řízení přístupu) pro přiřazení k existujícímu objektu.

Návratová hodnota

Vrátí odkaz na aktualizovaný CDacl objekt.

Poznámky

Měli byste zajistit, abyste této funkci předali pouze seznam DACL (volitelný seznam řízení přístupu). Předání seznamu řízení přístupu (SACL) této funkci způsobí assert v buildech ladění, ale v buildech vydaných verzí nebude mít žádnou chybu.

CDacl::RemoveAce

Odebere konkrétní položku ACE (access-control) z objektu CDacl .

void RemoveAce(UINT nIndex) throw();

Parametry

nIndex
Index položky ACE, která se má odebrat.

Poznámky

Tato metoda je odvozena z CAtlArray::RemoveAt.

CDacl::RemoveAllAces

Odebere všechny položky řízení přístupu (ACL) obsažené v objektu CDacl .

void RemoveAllAces() throw();

Poznámky

Odebere každou ACE strukturu (pokud existuje) (přístupová položka) v objektu CDacl .

Viz také

Ukázka zabezpečení
CAcl – třída
Seznamy acl
Esa
Přehled třídy
Globální funkce zabezpečení