Udostępnij za pośrednictwem


Klasa CDacl

Ta klasa jest otoką struktury listy DACL (uznaniowej listy kontroli dostępu).

Ważne

Tej klasy i jej składowych nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows.

Składnia

class CDacl : public CAcl

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CDacl::CDacl Konstruktor.
CDacl::~CDacl Destruktora.

Metody publiczne

Nazwa/nazwisko opis
CDacl::AddAllowedAce Dodaje do obiektu dozwolony wpis ACE (access-control CDacl ).
CDacl::AddDeniedAce Dodaje odrzuconą ACE do CDacl obiektu .
CDacl::GetAceCount Zwraca liczbę wpisów kontroli dostępu (ACL) w CDacl obiekcie.
CDacl::RemoveAce Usuwa z obiektu określony wpis CDacl kontroli dostępu (ACE).
CDacl::RemoveAllAces Usuwa wszystkie acE zawarte w CDacl obiekcie.

Operatory publiczne

Nazwa/nazwisko opis
CDacl::operator = Operator przypisania.

Uwagi

Deskryptor zabezpieczeń obiektu może zawierać listę DACL. Lista DACL zawiera zero lub więcej wpisów kontroli dostępu , które identyfikują użytkowników i grupy, którzy mogą uzyskać dostęp do obiektu. Jeśli lista DACL jest pusta (czyli zawiera zero ACL), żaden dostęp nie jest jawnie udzielany, więc dostęp jest niejawnie odrzucany. Jeśli jednak deskryptor zabezpieczeń obiektu nie ma listy DACL, obiekt jest niechroniony i wszyscy mają pełny dostęp.

Aby pobrać listę DACL obiektu, musisz być właścicielem obiektu lub mieć READ_CONTROL dostęp do obiektu. Aby zmienić listę DACL obiektu, musisz mieć WRITE_DAC dostęp do obiektu.

Użyj podanych metod klasy, aby tworzyć, dodawać, usuwać i usuwać acEs z CDacl obiektu. Zobacz również AtlGetDacl i AtlSetDacl.

Aby zapoznać się z wprowadzeniem do modelu kontroli dostępu w systemie Windows, zobacz Kontrola dostępu w zestawie Windows SDK.

Hierarchia dziedziczenia

Lista CAcl

CDacl

Wymagania

Nagłówek: atlsecurity.h

CDacl::AddAllowedAce

Dodaje do obiektu dozwolony wpis ACE (access-control CDacl ).

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
Obiekt CSid.

Maska dostępu
Określa maskę praw dostępu, które mają być dozwolone dla określonego CSid obiektu.

AceFlags
Zestaw flag bitowych sterujących dziedziczeniem ACE.

pObjectType
Typ obiektu.

pInheritedObjectType
Dziedziczony typ obiektu.

Wartość zwracana

Zwraca wartość TRUE, jeśli ACE jest dodawany do CDacl obiektu, wartość FALSE w przypadku niepowodzenia.

Uwagi

CDacl Obiekt zawiera zero lub więcej Wpisów kontroli dostępu , które identyfikują użytkowników i grupy, którzy mogą uzyskać dostęp do obiektu. Ta metoda dodaje ACE, która umożliwia dostęp do CDacl obiektu.

Zobacz ACE_HEADER opis różnych flag, które można ustawić w parametrze AceFlags .

CDacl::AddDeniedAce

Dodaje do obiektu niedozwolony wpis ACE (access-control CDacl ).

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
Obiekt CSid.

Maska dostępu
Określa maskę praw dostępu, które mają zostać odrzucone dla określonego CSid obiektu.

AceFlags
Zestaw flag bitowych sterujących dziedziczeniem ACE. Wartość domyślna to 0 w pierwszej formie metody.

pObjectType
Typ obiektu.

pInheritedObjectType
Dziedziczony typ obiektu.

Wartość zwracana

Zwraca wartość TRUE, jeśli ACE jest dodawany do CDacl obiektu, wartość FALSE w przypadku niepowodzenia.

Uwagi

CDacl Obiekt zawiera zero lub więcej Wpisów kontroli dostępu , które identyfikują użytkowników i grupy, którzy mogą uzyskać dostęp do obiektu. Ta metoda dodaje ACE, która odmawia dostępu do CDacl obiektu.

Zobacz ACE_HEADER opis różnych flag, które można ustawić w parametrze AceFlags .

CDacl::CDacl

Konstruktor.

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

Parametry

Rhs
Istniejąca ACL struktura (lista kontroli dostępu).

Uwagi

Obiekt CDacl można opcjonalnie utworzyć przy użyciu istniejącej ACL struktury. Należy pamiętać, że jako ten parametr należy przekazać tylko listę DACL (uznaniową listę kontroli dostępu), a nie SACL (systemową listę kontroli dostępu). W kompilacjach debugowania przekazywanie SACL spowoduje asercję. W kompilacjach wydania przekazywanie SACL spowoduje zignorowanie wpisów kontroli dostępu (ACL) w listach ACL i nie wystąpi błąd.

CDacl::~CDacl

Destruktora.

~CDacl () throw();

Uwagi

Destruktor zwalnia wszystkie zasoby pozyskane przez obiekt, w tym wszystkie wpisy kontroli dostępu (ACL) przy użyciu CDacl::RemoveAllAces.

CDacl::GetAceCount

Zwraca liczbę wpisów kontroli dostępu (ACL) w CDacl obiekcie.

UINT GetAceCount() const throw();

Wartość zwracana

Zwraca liczbę ACL zawartych w CDacl obiekcie.

CDacl::operator =

Operator przypisania.

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

Parametry

Rhs
Lista ACL (lista kontroli dostępu) do przypisania do istniejącego obiektu.

Wartość zwracana

Zwraca odwołanie do zaktualizowanego CDacl obiektu.

Uwagi

Upewnij się, że do tej funkcji przekazano tylko listę DACL (uznaniową listę kontroli dostępu). Przekazanie sacL (systemowej listy kontroli dostępu) do tej funkcji spowoduje asercję w kompilacjach debugowania, ale nie spowoduje błędu w kompilacjach wydania.

CDacl::RemoveAce

Usuwa z obiektu określony wpis CDacl kontroli dostępu (ACE).

void RemoveAce(UINT nIndex) throw();

Parametry

nIndex
Zaindeksuj do wpisu ACE, aby usunąć.

Uwagi

Ta metoda pochodzi z CAtlArray::RemoveAt.

CDacl::RemoveAllAces

Usuwa wszystkie wpisy kontroli dostępu (ACE) zawarte w CDacl obiekcie.

void RemoveAllAces() throw();

Uwagi

Usuwa każdą ACE strukturę (wpis kontroli dostępu) (jeśli istnieje) w CDacl obiekcie.

Zobacz też

Przykład zabezpieczeń
Klasa CAcl
Listy acl
Asy
Omówienie klasy
Funkcje globalne zabezpieczeń