Udostępnij za pośrednictwem


Klasa CTokenPrivileges

Ta klasa jest otoką struktury TOKEN_PRIVILEGES .

Ważne

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

Składnia

class CTokenPrivileges

Członkowie

Konstruktory publiczne

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

Metody publiczne

Nazwa/nazwisko opis
CTokenPrivileges::Add Dodaje co najmniej jedno uprawnienie do CTokenPrivileges obiektu.
CTokenPrivileges::D elete Usuwa uprawnienie z CTokenPrivileges obiektu.
CTokenPrivileges::D eleteAll Usuwa wszystkie uprawnienia z CTokenPrivileges obiektu.
CTokenPrivileges::GetCount Zwraca liczbę wpisów uprawnień w CTokenPrivileges obiekcie.
CTokenPrivileges::GetDisplayNames Pobiera nazwy wyświetlane uprawnień zawartych w CTokenPrivileges obiekcie.
CTokenPrivileges::GetLength Zwraca rozmiar buforu w bajtach wymaganych do przechowywania TOKEN_PRIVILEGES struktury reprezentowanej CTokenPrivileges przez obiekt.
CTokenPrivileges::GetLuidsAndAttributes Pobiera lokalnie unikatowe identyfikatory (LUID) i flagi atrybutów z CTokenPrivileges obiektu.
CTokenPrivileges::GetNamesAndAttributes Pobiera nazwy uprawnień i flagi atrybutów z CTokenPrivileges obiektu.
CTokenPrivileges::GetPTOKEN_PRIVILEGES Zwraca wskaźnik do TOKEN_PRIVILEGES struktury.
CTokenPrivileges::LookupPrivilege Pobiera atrybut skojarzony z daną nazwą uprawnień.

Operatory publiczne

Nazwa/nazwisko opis
CTokenPrivileges::operator const TOKEN_PRIVILEGES * Rzutuje wartość na wskaźnik do TOKEN_PRIVILEGES struktury.
CTokenPrivileges::operator = Operator przypisania.

Uwagi

Token dostępu to obiekt, który opisuje kontekst zabezpieczeń procesu lub wątku i jest przydzielany każdemu użytkownikowi zalogowanego do systemu Windows.

Token dostępu służy do opisywania różnych uprawnień zabezpieczeń przyznanych każdemu użytkownikowi. Uprawnienie składa się z 64-bitowej liczby nazywanej lokalnie unikatowym identyfikatorem ( LUID) i ciągiem deskryptora.

Klasa CTokenPrivileges jest otoką struktury TOKEN_PRIVILEGES i zawiera co najmniej 0 uprawnień. Uprawnienia można dodawać, usuwać lub wykonywać zapytania przy użyciu podanych metod klasy.

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

CTokenPrivileges::Add

Dodaje co najmniej jedno uprawnienie do obiektu tokenu CTokenPrivileges dostępu.

bool Add(LPCTSTR pszPrivilege, bool bEnable) throw(...);
void Add(const TOKEN_PRIVILEGES& rPrivileges) throw(...);

Parametry

pszPrivilege
Wskaźnik do ciągu zakończonego wartości null, który określa nazwę uprawnień, zgodnie z definicją w winNT. Plik nagłówka H.

bEnable
Jeśli to prawda, uprawnienie jest włączone. Jeśli wartość false, uprawnienie jest wyłączone.

rPrivileges
Odwołanie do struktury TOKEN_PRIVILEGES . Uprawnienia i atrybuty są kopiowane z tej struktury i dodawane do CTokenPrivileges obiektu.

Wartość zwracana

Pierwsza forma tej metody zwraca wartość true, jeśli uprawnienia zostały pomyślnie dodane, w przeciwnym razie wartość false.

CTokenPrivileges::CTokenPrivileges

Konstruktor.

CTokenPrivileges() throw();
CTokenPrivileges(const CTokenPrivileges& rhs) throw(... );
CTokenPrivileges(const TOKEN_PRIVILEGES& rPrivileges) throw(...);

Parametry

Rhs
Obiekt CTokenPrivileges do przypisania do nowego obiektu.

rPrivileges
Struktura TOKEN_PRIVILEGES do przypisania do nowego CTokenPrivileges obiektu.

Uwagi

Obiekt CTokenPrivileges można opcjonalnie utworzyć przy użyciu TOKEN_PRIVILEGES struktury lub wcześniej zdefiniowanego CTokenPrivileges obiektu.

CTokenPrivileges::~CTokenPrivileges

Destruktora.

virtual ~CTokenPrivileges() throw();

Uwagi

Destruktor zwalnia wszystkie przydzielone zasoby.

CTokenPrivileges::D elete

Usuwa uprawnienie z obiektu tokenu CTokenPrivileges dostępu.

bool Delete(LPCTSTR pszPrivilege) throw();

Parametry

pszPrivilege
Wskaźnik do ciągu zakończonego wartości null, który określa nazwę uprawnień, zgodnie z definicją w winNT. Plik nagłówka H. Na przykład ten parametr może określać stałą SE_SECURITY_NAME lub odpowiadający mu ciąg "SeSecurityPrivilege".

Wartość zwracana

Zwraca wartość true, jeśli uprawnienie zostało pomyślnie usunięte, w przeciwnym razie wartość false.

Uwagi

Ta metoda jest przydatna jako narzędzie do tworzenia tokenów z ograniczeniami.

CTokenPrivileges::D eleteAll

Usuwa wszystkie uprawnienia z obiektu tokenu CTokenPrivileges dostępu.

void DeleteAll() throw();

Uwagi

Usuwa wszystkie uprawnienia zawarte w obiekcie tokenu CTokenPrivileges dostępu.

CTokenPrivileges::GetDisplayNames

Pobiera nazwy wyświetlane uprawnień zawartych w obiekcie tokenu CTokenPrivileges dostępu.

void GetDisplayNames(CNames* pDisplayNames) const throw(...);

Parametry

pDisplayNames
Wskaźnik do tablicy CString obiektów. CNames element jest definiowany jako definicja typu: CTokenPrivileges::CAtlArray<CString>.

Uwagi

Parametr pDisplayNames jest wskaźnikiem do tablicy CString obiektów, które otrzymają nazwy wyświetlane odpowiadające uprawnienia zawarte w CTokenPrivileges obiekcie. Ta metoda pobiera nazwy wyświetlane tylko dla uprawnień określonych w sekcji Zdefiniowane uprawnienia WINNT.H.

Ta metoda pobiera nazwę wyświetlaną: na przykład jeśli nazwa atrybutu jest SE_REMOTE_SHUTDOWN_NAME, wyświetlana nazwa to "Wymuś zamknięcie z systemu zdalnego". Aby uzyskać nazwę systemu, użyj CTokenPrivileges::GetNamesAndAttributes.

CTokenPrivileges::GetCount

Zwraca liczbę wpisów uprawnień w CTokenPrivileges obiekcie.

UINT GetCount() const throw();

Wartość zwracana

Zwraca liczbę uprawnień zawartych w CTokenPrivileges obiekcie.

CTokenPrivileges::GetLength

Zwraca długość CTokenPrivileges obiektu.

UINT GetLength() const throw();

Wartość zwracana

Zwraca liczbę bajtów wymaganych do przechowywania TOKEN_PRIVILEGES struktury reprezentowanej przez CTokenPrivileges obiekt, łącznie ze wszystkimi wpisami uprawnień, które zawiera.

CTokenPrivileges::GetLuidsAndAttributes

Pobiera lokalnie unikatowe identyfikatory (LUID) i flagi atrybutów z CTokenPrivileges obiektu.

void GetLuidsAndAttributes(
    CLUIDArray* pPrivileges,
    CAttributes* pAttributes = NULL) const throw(...);

Parametry

pPrivileges
Wskaźnik do tablicy obiektów LUID . CLUIDArray to definicja typu zdefiniowana jako CAtlArray<LUID> CLUIDArray.

atrybuty pAttributes
Wskaźnik do tablicy obiektów DWORD. Jeśli ten parametr zostanie pominięty lub ma wartość NULL, atrybuty nie zostaną pobrane. CAttributes to definicja typu zdefiniowana jako CAtlArray <DWORD> CAttributes.

Uwagi

Ta metoda wylicza wszystkie uprawnienia zawarte w obiekcie tokenu CTokenPrivileges dostępu i umieszcza poszczególne identyfikatory LUN oraz (opcjonalnie) flagi atrybutów do obiektów tablicy.

CTokenPrivileges::GetNamesAndAttributes

Pobiera flagi nazwy i atrybutu CTokenPrivileges z obiektu.

void GetNamesAndAttributes(
    CNames* pNames,
    CAttributes* pAttributes = NULL) const throw(...);

Parametry

pNames
Wskaźnik do tablicy CString obiektów. CNames to definicja typu zdefiniowana jako CAtlArray <CString> CNames.

atrybuty pAttributes
Wskaźnik do tablicy obiektów DWORD. Jeśli ten parametr zostanie pominięty lub ma wartość NULL, atrybuty nie zostaną pobrane. CAttributes to definicja typu zdefiniowana jako CAtlArray <DWORD> CAttributes.

Uwagi

Ta metoda wylicza wszystkie uprawnienia zawarte w CTokenPrivileges obiekcie, umieszczając nazwę i (opcjonalnie) flagi atrybutów do obiektów tablicowych.

Ta metoda pobiera nazwę atrybutu, a nie nazwę wyświetlaną: na przykład jeśli nazwa atrybutu jest SE_REMOTE_SHUTDOWN_NAME, nazwa systemu to "SeRemoteShutdownPrivilege". Aby uzyskać nazwę wyświetlaną, użyj metody CTokenPrivileges::GetDisplayNames.

CTokenPrivileges::GetPTOKEN_PRIVILEGES

Zwraca wskaźnik do TOKEN_PRIVILEGES struktury.

const TOKEN_PRIVILEGES* GetPTOKEN_PRIVILEGES() const throw(...);

Wartość zwracana

Zwraca wskaźnik do struktury TOKEN_PRIVILEGES .

CTokenPrivileges::LookupPrivilege

Pobiera atrybut skojarzony z daną nazwą uprawnień.

bool LookupPrivilege(
    LPCTSTR pszPrivilege,
    DWORD* pdwAttributes = NULL) const throw(...);

Parametry

pszPrivilege
Wskaźnik do ciągu zakończonego wartości null, który określa nazwę uprawnień, zgodnie z definicją w winNT. Plik nagłówka H. Na przykład ten parametr może określać stałą SE_SECURITY_NAME lub odpowiadający mu ciąg "SeSecurityPrivilege".

pdwAttributes
Wskaźnik do zmiennej, która odbiera atrybuty.

Wartość zwracana

Zwraca wartość true, jeśli atrybut został pomyślnie pobrany, w przeciwnym razie wartość false.

CTokenPrivileges::operator =

Operator przypisania.

CTokenPrivileges& operator= (const TOKEN_PRIVILEGES& rPrivileges) throw(...);
CTokenPrivileges& operator= (const CTokenPrivileges& rhs) throw(...);

Parametry

rPrivileges
Struktura TOKEN_PRIVILEGES do przypisania do CTokenPrivileges obiektu.

Rhs
Obiekt CTokenPrivileges do przypisania do obiektu.

Wartość zwracana

Zwraca zaktualizowany CTokenPrivileges obiekt.

CTokenPrivileges::operator const TOKEN_PRIVILEGES *

Rzutuje wartość na wskaźnik do TOKEN_PRIVILEGES struktury.

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

Uwagi

Rzutuje wartość na wskaźnik do struktury TOKEN_PRIVILEGES .

Zobacz też

Przykład zabezpieczeń
TOKEN_PRIVILEGES
LUID
LUID_AND_ATTRIBUTES
Omówienie klasy
Funkcje globalne zabezpieczeń