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
Elementy członkowskie
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
IDENTYFIKATOR LUID
LUID_AND_ATTRIBUTES
Omówienie klasy
Funkcje globalne zabezpieczeń