CTokenPrivileges – třída
Tato třída je obálka pro TOKEN_PRIVILEGES
strukturu.
Důležité
Tuto třídu a její členy nelze použít v aplikacích, které se spouští v prostředí Windows Runtime.
Syntaxe
class CTokenPrivileges
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CTokenPrivileges::CTokenPrivileges | Konstruktor |
CTokenPrivileges::~CTokenPrivileges | Destruktor. |
Veřejné metody
Název | Popis |
---|---|
CTokenPrivileges::Add | Přidá k objektu CTokenPrivileges jedno nebo více oprávnění. |
CTokenPrivileges::D elete | Odstraní oprávnění z objektu CTokenPrivileges . |
CTokenPrivileges::D eleteAll | Odstraní všechna oprávnění z objektu CTokenPrivileges . |
CTokenPrivileges::GetCount | Vrátí počet položek oprávnění v objektu CTokenPrivileges . |
CTokenPrivileges::GetDisplayNames | Načte zobrazované názvy oprávnění obsažených v objektu CTokenPrivileges . |
CTokenPrivileges::GetLength | Vrátí velikost vyrovnávací paměti v bajtech vyžadovaných k uložení TOKEN_PRIVILEGES struktury reprezentované objektem CTokenPrivileges . |
CTokenPrivileges::GetLuidsAndAttributes | Načte místně jedinečné identifikátory (LUID) a příznaky atributů z objektu CTokenPrivileges . |
CTokenPrivileges::GetNamesAndAttributes | Načte názvy oprávnění a příznaky atributů z objektu CTokenPrivileges . |
CTokenPrivileges::GetPTOKEN_PRIVILEGES | Vrátí ukazatel na TOKEN_PRIVILEGES strukturu. |
CTokenPrivileges::LookupPrivilege | Načte atribut přidružený k danému názvu oprávnění. |
Veřejné operátory
Název | Popis |
---|---|
CTokenPrivileges::operator const TOKEN_PRIVILEGES * | Přetypuje hodnotu na ukazatel na TOKEN_PRIVILEGES strukturu. |
CTokenPrivileges::operator = | Operátor přiřazení. |
Poznámky
Přístupový token je objekt, který popisuje kontext zabezpečení procesu nebo vlákna a je přidělen každému uživateli přihlášeným k systému Windows.
Přístupový token slouží k popisu různých oprávnění zabezpečení udělených jednotlivým uživatelům. Oprávnění se skládá z 64bitového čísla označovaného jako místně jedinečný identifikátor ( LUID) a řetězce popisovače.
Třída CTokenPrivileges
je obálka pro TOKEN_PRIVILEGES strukturu a obsahuje 0 nebo více oprávnění. Oprávnění lze přidat, odstranit nebo dotazovat pomocí zadaných metod třídy.
Úvod k modelu řízení přístupu ve Windows najdete v tématu Řízení přístupu v sadě Windows SDK.
Požadavky
Hlavička: atlsecurity.h
CTokenPrivileges::Add
Přidá k objektu přístupového tokenu CTokenPrivileges
jedno nebo více oprávnění.
bool Add(LPCTSTR pszPrivilege, bool bEnable) throw(...);
void Add(const TOKEN_PRIVILEGES& rPrivileges) throw(...);
Parametry
pszPrivilege
Ukazatel na řetězec ukončený hodnotou null, který určuje název oprávnění, jak je definováno v winNT. Soubor záhlaví H.
bEnable
Pokud je hodnota true, je oprávnění povoleno. Pokud je false, oprávnění je zakázané.
rPrivileges
Odkaz na strukturu TOKEN_PRIVILEGES . Oprávnění a atributy se zkopírují z této struktury a přidají se do objektu CTokenPrivileges
.
Návratová hodnota
První forma této metody vrátí hodnotu true, pokud jsou oprávnění úspěšně přidána, jinak false.
CTokenPrivileges::CTokenPrivileges
Konstruktor
CTokenPrivileges() throw();
CTokenPrivileges(const CTokenPrivileges& rhs) throw(... );
CTokenPrivileges(const TOKEN_PRIVILEGES& rPrivileges) throw(...);
Parametry
rhs
Objekt CTokenPrivileges
, který chcete přiřadit novému objektu.
rPrivileges
Struktura TOKEN_PRIVILEGES , která se má přiřadit k novému CTokenPrivileges
objektu.
Poznámky
Objekt CTokenPrivileges
lze volitelně vytvořit pomocí TOKEN_PRIVILEGES
struktury nebo dříve definovaného CTokenPrivileges
objektu.
CTokenPrivileges::~CTokenPrivileges
Destruktor.
virtual ~CTokenPrivileges() throw();
Poznámky
Destruktor uvolní všechny přidělené prostředky.
CTokenPrivileges::D elete
Odstraní oprávnění z objektu přístupového tokenu CTokenPrivileges
.
bool Delete(LPCTSTR pszPrivilege) throw();
Parametry
pszPrivilege
Ukazatel na řetězec ukončený hodnotou null, který určuje název oprávnění, jak je definováno v winNT. Soubor záhlaví H. Tento parametr může například zadat konstantu SE_SECURITY_NAME nebo odpovídající řetězec SeSecurityPrivilege.
Návratová hodnota
Vrátí hodnotu true, pokud bylo oprávnění úspěšně odstraněno, jinak false.
Poznámky
Tato metoda je užitečná jako nástroj pro vytváření omezených tokenů.
CTokenPrivileges::D eleteAll
Odstraní všechna oprávnění z objektu přístupového tokenu CTokenPrivileges
.
void DeleteAll() throw();
Poznámky
Odstraní všechna oprávnění obsažená v objektu přístupového tokenu CTokenPrivileges
.
CTokenPrivileges::GetDisplayNames
Načte zobrazované názvy oprávnění obsažených v objektu přístupového tokenu CTokenPrivileges
.
void GetDisplayNames(CNames* pDisplayNames) const throw(...);
Parametry
pDisplayNames
Ukazatel na pole CString
objektů. CNames
je definován jako typedef: CTokenPrivileges::CAtlArray<CString>
.
Poznámky
pDisplayNames
Parametr je ukazatel na pole CString
objektů, které obdrží zobrazované názvy odpovídající oprávněním obsaženým v objektuCTokenPrivileges
. Tato metoda načte zobrazované názvy pouze pro oprávnění zadaná v části Definovaná oprávnění WINNT.H.
Tato metoda načte zobrazovaný název: například pokud je název atributu SE_REMOTE_SHUTDOWN_NAME, zobrazovaný název je "Vynutit vypnutí ze vzdáleného systému". Chcete-li získat název systému, použijte CTokenPrivileges::GetNamesAndAttributes.
CTokenPrivileges::GetCount
Vrátí počet položek oprávnění v objektu CTokenPrivileges
.
UINT GetCount() const throw();
Návratová hodnota
Vrátí počet oprávnění obsažených v objektu CTokenPrivileges
.
CTokenPrivileges::GetLength
Vrátí délku objektu CTokenPrivileges
.
UINT GetLength() const throw();
Návratová hodnota
Vrátí počet bajtů potřebných k uložení TOKEN_PRIVILEGES
struktury reprezentované objektem CTokenPrivileges
, včetně všech položek oprávnění, které obsahuje.
CTokenPrivileges::GetLuidsAndAttributes
Načte místně jedinečné identifikátory (LUID) a příznaky atributů z objektu CTokenPrivileges
.
void GetLuidsAndAttributes(
CLUIDArray* pPrivileges,
CAttributes* pAttributes = NULL) const throw(...);
Parametry
pPrivileges
Ukazatel na pole objektů LUID . CLUIDArray
je typedef definovaný jako CAtlArray<LUID> CLUIDArray
.
pAttributes
Ukazatel na pole objektů DWORD. Pokud je tento parametr vynechán nebo null, atributy se nenačtou. CAttributes
je typedef definovaný jako CAtlArray <DWORD> CAttributes
.
Poznámky
Tato metoda vypíše všechna oprávnění obsažená v objektu CTokenPrivileges
přístupového tokenu a umístí jednotlivé identifikátory LUID a (volitelně) příznaky atributů do objektů pole.
CTokenPrivileges::GetNamesAndAttributes
Načte z objektu příznaky názvu a atributu CTokenPrivileges
.
void GetNamesAndAttributes(
CNames* pNames,
CAttributes* pAttributes = NULL) const throw(...);
Parametry
Názvy pNames
Ukazatel na pole CString
objektů. CNames
je typedef definovaný jako CAtlArray <CString> CNames
.
pAttributes
Ukazatel na pole objektů DWORD. Pokud je tento parametr vynechán nebo null, atributy se nenačtou. CAttributes
je typedef definovaný jako CAtlArray <DWORD> CAttributes
.
Poznámky
Tato metoda vypíše všechna oprávnění obsažená v objektu CTokenPrivileges
, umístí název a (volitelně) příznaky atributů do objektů pole.
Tato metoda načte název atributu, nikoli zobrazovaný název: například pokud je název atributu SE_REMOTE_SHUTDOWN_NAME, název systému je "SeRemoteShutdownPrivilege". Chcete-li získat zobrazovaný název, použijte metodu CTokenPrivileges::GetDisplayNames.
CTokenPrivileges::GetPTOKEN_PRIVILEGES
Vrátí ukazatel na TOKEN_PRIVILEGES
strukturu.
const TOKEN_PRIVILEGES* GetPTOKEN_PRIVILEGES() const throw(...);
Návratová hodnota
Vrátí ukazatel na strukturu TOKEN_PRIVILEGES .
CTokenPrivileges::LookupPrivilege
Načte atribut přidružený k danému názvu oprávnění.
bool LookupPrivilege(
LPCTSTR pszPrivilege,
DWORD* pdwAttributes = NULL) const throw(...);
Parametry
pszPrivilege
Ukazatel na řetězec ukončený hodnotou null, který určuje název oprávnění, jak je definováno v winNT. Soubor záhlaví H. Tento parametr může například zadat konstantu SE_SECURITY_NAME nebo odpovídající řetězec SeSecurityPrivilege.
pdwAttributes
Ukazatel na proměnnou, která přijímá atributy.
Návratová hodnota
Vrátí hodnotu true, pokud se atribut úspěšně načte, jinak nepravda.
CTokenPrivileges::operator =
Operátor přiřazení.
CTokenPrivileges& operator= (const TOKEN_PRIVILEGES& rPrivileges) throw(...);
CTokenPrivileges& operator= (const CTokenPrivileges& rhs) throw(...);
Parametry
rPrivileges
Struktura TOKEN_PRIVILEGES , která se má objektu CTokenPrivileges
přiřadit.
rhs
Objekt CTokenPrivileges
, který se má k objektu přiřadit.
Návratová hodnota
Vrátí aktualizovaný CTokenPrivileges
objekt.
CTokenPrivileges::operator const TOKEN_PRIVILEGES *
Přetypuje hodnotu na ukazatel na TOKEN_PRIVILEGES
strukturu.
operator const TOKEN_PRIVILEGES *() const throw(...);
Poznámky
Přetypuje hodnotu na ukazatel na TOKEN_PRIVILEGES strukturu.
Viz také
Ukázka zabezpečení
TOKEN_PRIVILEGES
LUID
LUID_AND_ATTRIBUTES
Přehled třídy
Globální funkce zabezpečení