Zosobnění klienta (autorizace)
zosobnění je schopnost vlákna spouštět pomocí různých bezpečnostních informací, než je proces, který vlastní vlákno. Vlákno v serverové aplikaci obvykle zosobňuje klienta. Díky tomu může vlákno serveru jednat jménem tohoto klienta pro přístup k objektům na serveru nebo ověřit přístup k vlastním objektům klienta.
Rozhraní MICROSOFT Windows API poskytuje následující funkce pro zahájení zosobnění:
- Aplikace serveru DDE může volat funkci DdeImpersonateClient, která zosobní klienta.
- Server pojmenovaného kanálu může volat funkci ImpersonateNamedPipeClient.
- Můžete volat funkci ImpersonateLoggedOnUser, která zosobní kontext zabezpečení přístupového tokenu přihlášeného uživatele.
- Funkce ImpersonateSelf umožňuje vláknu vygenerovat kopii vlastního přístupového tokenu. To je užitečné, když aplikace potřebuje změnit kontext zabezpečení jednoho vlákna. Například někdy je třeba povolitoprávněnípouze jedno vlákno procesu .
- Můžete volat funkci SetThreadToken, která způsobí spuštění cílového vlákna v kontextu zabezpečení zadaného tokenu zosobnění .
- Aplikace serveru Vzdálené volání procedur (RPC) společnosti Microsoft může volat funkci RpcImpersonateClient, která zosobní klienta.
- Balíček zabezpečení nebo aplikační server může volat funkci ImpersonateSecurityContext, která zosobní klienta.
U většiny zosobnění se zosobnění vlákna může vrátit k vlastnímu kontextu zabezpečení voláním funkce RevertToSelf. Výjimkou je zosobnění RPC, ve kterém aplikace serveru RPC volá RpcRevertToSelf nebo RpcRevertToSelfEx k návratu do vlastního kontextu zabezpečení.
Poznámka: Pokud zosobníte uživatele ze služby Win32 a voláte rozhraní API, která spoléhají na proměnné uživatelského prostředí, možná budete muset před zosobněním volat RegDisablePredefinedCache.