Udostępnij za pośrednictwem


Personifikacja klienta (autoryzacja)

Personifikacja to możliwość wykonania wątku przy użyciu innych informacji zabezpieczających niż proces, który jest właścicielem wątku. Zazwyczaj wątek w aplikacji serwera personifikuje klienta. Dzięki temu wątek serwera może działać w imieniu tego klienta w celu uzyskiwania dostępu do obiektów na serwerze lub weryfikowania dostępu do własnych obiektów klienta.

Interfejs API systemu Microsoft Windows udostępnia następujące funkcje umożliwiające rozpoczęcie personifikacji:

  • Aplikacja serwera DDE może wywołać funkcję DdeImpersonateClient w celu personifikacji klienta.
  • Serwer nazwanego potoku może wywołać funkcję ImpersonateNamedPipeClient.
  • Możesz wywołać funkcjęImpersonateLoggedOnUser, aby personifikować kontekst zabezpieczeń zalogowanego użytkownika tokenu dostępu.
  • Funkcja Personifikuj się umożliwia wątkowi wygenerowanie kopii własnego tokenu dostępu. Jest to przydatne, gdy aplikacja musi zmienić kontekst zabezpieczeń pojedynczego wątku. Na przykład czasami tylko jeden wątek procesu musi włączyć uprawnienia .
  • Możesz wywołać funkcjęSetThreadToken, aby spowodować uruchomienie wątku docelowego w kontekście zabezpieczeń określonego tokenu personifikacji .
  • Aplikacja serwera wywołania procedury zdalnej (RPC) firmy Microsoft może wywołać funkcję RpcImpersonateClient w celu personifikacji klienta.
  • pakiet zabezpieczeń lub serwer aplikacji może wywołać funkcję ImpersonateSecurityContext w celu personifikacji klienta.

W przypadku większości tych personifikacji wątek personifikujący może przywrócić własny kontekst zabezpieczeń, wywołując funkcję RevertToSelf. Wyjątkiem jest personifikacja RPC, w której aplikacja serwera RPC wywołuje RpcRevertToSelf lub RpcRevertToSelfEx, aby przywrócić własny kontekst zabezpieczeń.

Uwaga: jeśli personifikujesz użytkownika z usługi Win32 i wywołujesz interfejsy API, które opierają się na zmiennych środowiskowych użytkownika, może być konieczne wywołanie RegDisablePredefinedCache przed wykonaniem personifikacji.