Udostępnij za pośrednictwem


Klasa CAcl

Ta klasa jest otoką struktury ACL (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 CAcl

Elementy członkowskie

Definicje typów publicznych

Nazwa/nazwisko opis
CAcl::CAccessMaskArray Tablica ACCESS_MASKs.
CAcl::CAceFlagArray Tablica jednostek BYTEs.
CAcl::CAceTypeArray Tablica jednostek BYTEs.

Konstruktory publiczne

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

Metody publiczne

Nazwa/nazwisko opis
CAcl::GetAceCount Zwraca liczbę obiektów wejścia kontroli dostępu (ACE).
CAcl::GetAclEntries Pobiera wpisy listy kontroli dostępu (ACL) z CAcl obiektu.
CAcl::GetAclEntry Pobiera wszystkie informacje o wpisie CAcl w obiekcie.
CAcl::GetLength Zwraca długość listy ACL.
CAcl::GetPACL Zwraca wskaźnik PACL (wskaźnik do listy ACL).
CAcl::IsEmpty Testuje obiekt pod kątem CAcl wpisów.
CAcl::IsNull Zwraca stan CAcl obiektu.
CAcl::RemoveAce Usuwa z obiektu określony wpis CAcl kontroli dostępu (ACE).
CAcl::RemoveAces Usuwa wszystkie wpisy kontroli dostępu (ACE) z CAcl elementu, które mają zastosowanie do danego CSidelementu .
CAcl::SetEmpty CAcl Oznacza obiekt jako pusty.
CAcl::SetNull CAcl Oznacza obiekt jako NULL.

Operatory publiczne

Nazwa/nazwisko opis
CAcl::operator const ACL * Rzutuje CAcl obiekt na ACL strukturę.
CAcl::operator = Operator przypisania.

Uwagi

Struktura ACL jest nagłówkiem listy ACL (listy kontroli dostępu). Lista kontroli dostępu zawiera sekwencyjną listę zera lub większej liczby wpisów kontroli dostępu. Poszczególne ACL są numerowane z zakresu od 0 do n-1, gdzie n jest liczbą ACL. Podczas edytowania listy ACL aplikacja odwołuje się do wpisu kontroli dostępu (ACE) w ramach listy ACL według jej indeksu.

Istnieją dwa typy list ACL:

  • Uznaniowe

  • System

Uznaniowa lista ACL jest kontrolowana przez właściciela obiektu lub każdego, kto udzielił WRITE_DAC dostępu do obiektu. Określa dostęp do określonych użytkowników i grup może mieć obiekt. Na przykład właściciel pliku może użyć uznaniowej listy ACL, aby kontrolować, którzy użytkownicy i grupy mogą i nie mogą mieć dostępu do pliku.

Obiekt może również mieć skojarzone z nim informacje o zabezpieczeniach na poziomie systemu w postaci listy ACL systemu kontrolowanej przez administratora systemu. Lista ACL systemu umożliwia administratorowi systemu inspekcję wszelkich prób uzyskania dostępu do obiektu.

Aby uzyskać więcej informacji, zobacz dyskusję na temat listy ACL w zestawie Windows SDK.

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

Wymagania

Nagłówek: atlsecurity.h

CAcl::CAccessMaskArray

Tablica obiektów ACCESS_MASK.

typedef CAtlArray<ACCESS_MASK> CAccessMaskArray;

Uwagi

Ta definicja typu określa typ tablicy, który może służyć do przechowywania praw dostępu używanych w wpisach kontroli dostępu (ACE).

CAcl::CAceFlagArray

Tablica jednostek BYTEs.

typedef CAtlArray<BYTE> CAceFlagArray;

Uwagi

Ten typdef określa typ tablicy używany do definiowania flag kontroli dostępu (ACE) specyficznych dla typu. Zobacz definicję ACE_HEADER , aby uzyskać pełną listę możliwych flag.

CAcl::CAceTypeArray

Tablica jednostek BYTEs.

typedef CAtlArray<BYTE> CAceTypeArray;

Uwagi

Ta definicja typu określa typ tablicy używany do definiowania charakteru obiektów wprowadzania kontroli dostępu (ACE), takich jak ACCESS_ALLOWED_ACE_TYPE lub ACCESS_DENIED_ACE_TYPE. Zobacz definicję ACE_HEADER , aby uzyskać pełną listę możliwych typów.

CAcl::CAcl

Konstruktor.

CAcl() throw();
CAcl(const CAcl& rhs) throw(...);

Parametry

Rhs
Istniejący CAcl obiekt.

Uwagi

Obiekt CAcl można opcjonalnie utworzyć przy użyciu istniejącego CAcl obiektu.

CAcl::~CAcl

Destruktora.

virtual ~CAcl() throw();

Uwagi

Destruktor zwalnia wszelkie zasoby uzyskane przez obiekt.

CAcl::GetAceCount

Zwraca liczbę obiektów wejścia kontroli dostępu (ACE).

virtual UINT GetAceCount() const throw() = 0;

Wartość zwracana

Zwraca liczbę wpisów ACE w CAcl obiekcie.

CAcl::GetAclEntries

Pobiera wpisy listy kontroli dostępu (ACL) z CAcl obiektu.

void GetAclEntries(
    CSid::CSidArray* pSids,
    CAccessMaskArray* pAccessMasks = NULL,
    CAceTypeArray* pAceTypes = NULL,
    CAceFlagArray* pAceFlags = NULL) const throw(...);

Parametry

identyfikatory pSid
Wskaźnik do tablicy obiektów CSid .

Maski funkcji pAccess
Maski dostępu.

pAceTypes
Typy wprowadzania kontroli dostępu (ACE).

pAceFlags
Flagi ACE.

Uwagi

Ta metoda wypełnia parametry tablicy szczegółami każdego obiektu ACE zawartego CAcl w obiekcie. Użyj wartości NULL, jeśli szczegóły tej konkretnej tablicy nie są wymagane.

Zawartość każdej tablicy odpowiada sobie nawzajem, czyli pierwszy element tablicy odpowiada pierwszemu elementowi CAccessMaskArray CSidArray w tablicy itd.

Aby uzyskać więcej informacji na temat typów i flag ACE, zobacz ACE_HEADER .

CAcl::GetAclEntry

Pobiera wszystkie informacje o wpisie na liście kontroli dostępu (ACL).

void GetAclEntry(
    UINT nIndex,
    CSid* pSid,
    ACCESS_MASK* pMask = NULL,
    BYTE* pType = NULL,
    BYTE* pFlags = NULL,
    GUID* pObjectType = NULL,
    GUID* pInheritedObjectType = NULL) const throw(...);

Parametry

nIndex
Zaindeksuj do wpisu listy ACL w celu pobrania.

pSid
Obiekt CSid , do którego ma zastosowanie wpis listy ACL.

Maska p
Maska określająca uprawnienia do udzielania lub odmowy dostępu.

typ pType
Typ ACE.

Opóźnienia pFlags
Flagi ACE.

pObjectType
Typ obiektu. Zostanie ona ustawiona na GUID_NULL, jeśli typ obiektu nie zostanie określony w ACE lub jeśli ACE nie jest ACE.

pInheritedObjectType
Dziedziczony typ obiektu. Zostanie on ustawiony na GUID_NULL, jeśli dziedziczony typ obiektu nie jest określony w ACE lub jeśli ACE nie jest ACE obiektu.

Uwagi

Ta metoda pobierze wszystkie informacje dotyczące pojedynczej ACE, udostępniając więcej informacji niż tylko CAcl::GetAclEntries .

Aby uzyskać więcej informacji na temat typów i flag ACE, zobacz ACE_HEADER .

CAcl::GetLength

Zwraca długość listy kontroli dostępu (ACL).

UINT GetLength() const throw();

Wartość zwracana

Zwraca wymaganą długość w bajtach niezbędnych do przechowywania ACL struktury.

CAcl::GetPACL

Zwraca wskaźnik do listy kontroli dostępu (ACL).

const ACL* GetPACL() const throw(...);

Wartość zwracana

Zwraca wskaźnik do ACL struktury.

CAcl::IsEmpty

Testuje obiekt pod kątem CAcl wpisów.

bool IsEmpty() const throw();

Uwagi

Zwraca wartość TRUE, jeśli CAcl obiekt nie ma wartości NULL i nie zawiera żadnych wpisów. Zwraca wartość FALSE, jeśli CAcl obiekt ma wartość NULL lub zawiera co najmniej jeden wpis.

CAcl::IsNull

Zwraca stan CAcl obiektu.

bool IsNull() const throw();

Wartość zwracana

Zwraca wartość TRUE, jeśli CAcl obiekt ma wartość NULL, w przeciwnym razie wartość FALSE.

CAcl::operator const ACL *

Rzutuje CAcl obiekt na ACL strukturę (lista kontroli dostępu).

operator const ACL *() const throw(...);

Uwagi

Zwraca adres ACL struktury.

CAcl::operator =

Operator przypisania.

CAcl& operator= (const CAcl& rhs) throw(...);

Parametry

Rhs
Element CAcl do przypisania do istniejącego obiektu.

Wartość zwracana

Zwraca odwołanie do zaktualizowanego CAcl obiektu.

CAcl::RemoveAce

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

void RemoveAce(UINT nIndex) throw();

Parametry

nIndex
Zaindeksuj do wpisu ACE, aby usunąć.

Uwagi

Ta metoda pochodzi z CAtlArray::RemoveAt.

CAcl::RemoveAces

Usuwa wszystkie pozycje ACE (wpisy kontroli dostępu) z CAcl elementu, które mają zastosowanie do danego CSidelementu .

bool RemoveAces(const CSid& rSid) throw(...)

Parametry

rSid
Odwołanie do CSid obiektu.

CAcl::SetEmpty

CAcl Oznacza obiekt jako pusty.

void SetEmpty() throw();

Uwagi

CAcl Można ustawić wartość pustą lub wartość NULL: dwa stany są odrębne.

CAcl::SetNull

CAcl Oznacza obiekt jako NULL.

void SetNull() throw();

Uwagi

CAcl Można ustawić wartość pustą lub wartość NULL: dwa stany są odrębne.

Zobacz też

Omówienie klasy
Funkcje globalne zabezpieczeń