pemahaman. NET Impsonation
. NET Impsonation membolehkan pelaksanaan kod di bawah akaun pengguna yang ditetapkan, sering digabungkan dengan akses akaun berasaskan kredensial. Rangka kerja .NET menyediakan API yang diperlukan untuk penyamaran dan pengurusan akaun pengguna.
Teknik penyamaran
ruang nama menawarkan beberapa cara untuk mencapai penyamaran: System.Security.Principal
WindowsIdentity.RunImpersonated
Melaksanakan kod menggunakan token pengguna yang ditentukan, menerima atau Action
mewakilkan untuk blok kod. Func<T>
WindowsIdentity.Impersonate
Menjana objek , membolehkan penyamaran dalam blok WindowsImpersonationContext
untuk pengurusan sumber berstruktur. using
mengakses akaun pengguna dengan kelayakan
mengakses akaun pengguna menggunakan kelayakan yang disediakan biasanya melibatkan Win32 API asli: LogonUser
<code class="language-csharp">[DllImport("advapi32.dll")] internal static extern bool LogonUser(String lpszUsername, String lpszDomain, String lpszPassword, int dwLogonType, int dwLogonProvider, out IntPtr phToken);</code>
boleh menjadi rumit. Alternatif yang lebih mudah ialah perpustakaan LogonUser
: SimpleImpersonation
<code class="language-csharp">using SimpleImpersonation; var credentials = new UserCredentials(domain, username, password); using (SafeAccessTokenHandle userHandle = credentials.LogonUser(LogonType.Interactive)) { // Your impersonated code here }</code>
Had: Penyamaran Jauh
penyamaran adalah semulajadi tempatan; Ia tidak meluas ke komputer jauh melainkan mereka berkongsi domain yang sama atau mempunyai hubungan amanah.
Atas ialah kandungan terperinci Bagaimana untuk melakukan penyamaran dalam .net?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!