Bagikan melalui


Peniruan Identitas Klien (Otorisasi)

peniruan adalah kemampuan utas untuk mengeksekusi menggunakan informasi keamanan yang berbeda dari proses yang memiliki utas. Biasanya, utas dalam aplikasi server meniru klien. Ini memungkinkan utas server untuk bertindak atas nama klien tersebut untuk mengakses objek di server atau memvalidasi akses ke objek klien sendiri.

Microsoft Windows API menyediakan fungsi berikut untuk memulai peniruan identitas:

  • Aplikasi server DDE dapat memanggil fungsiDdeImpersonateClient untuk meniru klien.
  • Server pipa bernama dapat memanggil fungsiImpersonateNamedPipeClient.
  • Anda dapat memanggil fungsiImpersonateLoggedOnUser untuk meniru konteks keamanan token akses pengguna yang masuk.
  • FungsiImpersonateSelf memungkinkan utas untuk menghasilkan salinan token aksesnya sendiri. Ini berguna ketika aplikasi perlu mengubah konteks keamanan dari satu utas. Misalnya, terkadang hanya satu utas proses yang perlu mengaktifkan hak istimewa .
  • Anda dapat memanggil fungsisetThreadTokenuntuk menyebabkan utas target berjalan dalam konteks keamanan token peniruan tertentu.
  • Aplikasi server Microsoft Remote Procedure Call (RPC) dapat memanggil fungsi RpcImpersonateClient untuk meniru klien.
  • Paket keamanan atau server aplikasi dapat memanggil fungsiImpersonateSecurityContext untuk meniru klien.

Untuk sebagian besar peniruan ini, utas yang meniru dapat kembali ke konteks keamanannya sendiri dengan memanggil fungsi RevertToSelf. Pengecualiannya adalah peniruan RPC, di mana aplikasi server RPC memanggil RpcRevertToSelf atau RpcRevertToSelfEx untuk kembali ke konteks keamanannya sendiri.

Catatan: Jika Anda meniru pengguna dari layanan Win32, dan Anda memanggil API yang mengandalkan variabel lingkungan pengguna, Anda mungkin perlu memanggil RegDisablePredefinedCache sebelum Anda melakukan peniruan.