CAutoRevertImpersonation – třída
Tato třída vrátí objekty CAccessToken do neimpersonujícího stavu, když přejde mimo rozsah.
Syntaxe
class CAutoRevertImpersonation
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CAutoRevertImpersonation::CAutoRevertImpersonation | Vytvoří objekt.CAutoRevertImpersonation |
CAutoRevertImpersonation::~CAutoRevertImpersonation | Zničí objekt a vrátí zosobnění přístupového tokenu. |
Veřejné metody
Název | Popis |
---|---|
CAutoRevertImpersonation::Attach | Automatizuje opakování zosobnění přístupového tokenu. |
CAutoRevertImpersonation::D etach | Zruší automatické opakování zosobnění. |
CAutoRevertImpersonation::GetAccessToken | Načte aktuální přístupový token přidružený k tomuto objektu. |
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ý k systému systém Windows NT nebo Windows 2000. Tyto přístupové tokeny mohou být reprezentovány CAccessToken
třídou.
Někdy je nutné zosobnit přístupové tokeny. Tato třída je poskytována jako pohodlí, ale neprovádí zosobnění přístupových tokenů; provádí automatickou reverzi pouze do neosobněného stavu. Důvodem je to, že zosobnění přístupu tokenu se dá provést několika různými způsoby.
Ú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
CAutoRevertImpersonation::Attach
Automatizuje opakování zosobnění přístupového tokenu.
void Attach(const CAccessToken* pAT) throw();
Parametry
zaťukat
Adresa objektu CAccessToken , který se má automaticky vrátit
Poznámky
Tuto metodu byste měli použít pouze v případě, že byl objekt CAutoRevertImpersonation vytvořen s ukazatelem NULL CAccessToken
nebo pokud byl detach volána dříve. V jednoduchých případech není nutné tuto metodu použít.
CAutoRevertImpersonation::CAutoRevertImpersonation
CAutoRevertImpersonation
Vytvoří objekt.
CAutoRevertImpersonation(const CAccessToken* pAT) throw();
Parametry
zaťukat
Adresa objektu CAccessToken , který se má vrátit automaticky.
Poznámky
Skutečná zosobnění přístupového tokenu by měla být provedena odděleně od vytvoření objektu a nejlépe před vytvořením objektu CAutoRevertImpersonation
. Tato zosobnění se vrátí automaticky, když CAutoRevertImpersonation
objekt přestane být oborem.
CAutoRevertImpersonation::~CAutoRevertImpersonation
Zničí objekt a vrátí zosobnění přístupového tokenu.
~CAutoRevertImpersonation() throw();
Poznámky
Vrátí zpět veškerou zosobnění, která je aktuálně platná pro objekt CAccessToken poskytnutý při konstrukci nebo prostřednictvím metody Attach . Pokud není přidružena žádná CAccessToken
, destruktor nemá žádný vliv.
CAutoRevertImpersonation::D etach
Zruší automatické opakování zosobnění.
const CAccessToken* Detach() throw();
Návratová hodnota
Adresa dříve přidružené CAccessToken nebo NULL, pokud neexistuje žádné přidružení.
Poznámky
Volání detach zabraňuje objektu CAutoRevertImpersonation
vrátit zpět všechny zosobnění aktuálně platné pro objekt CAccessToken přidružený k tomuto objektu. CAutoRevertImpersonation
lze poté zničit bez efektu nebo jej znovu přidružovat ke stejnému nebo jinému CAccessToken
objektu pomocí příkazu Attach.
CAutoRevertImpersonation::GetAccessToken
Načte aktuální přístupový token přidružený k tomuto objektu.
const CAccessToken* GetAccessToken() throw();
Návratová hodnota
Adresa dříve přidružené CAccessToken nebo NULL, pokud neexistuje žádné přidružení.
Poznámky
Pokud je volána tato metoda pro účely, které zahrnují reverzi zosobnění objektu CAccessToken
, měla by být použita metoda Detach .