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
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ń