.NETは、特定のユーザーアカウントの下でコードを実行するための強力なツールを提供します。これは、なりすましとして知られています。これには、2つの重要な側面が含まれます。なりすましメカニズム自体と、ターゲットユーザーアカウントの資格情報へのアクセス
なりすましプロセス名前空間は必要なAPIを提供します。 近代的で効率的なアプローチは、
を利用します。この方法では、ユーザートークンハンドルと、非人格化されたユーザーのコンテキストの下で実行するコードを含むデリゲート(またはラムダ式)を使用します。
System.Security.Principal
WindowsIdentity.RunImpersonated
WindowsIdentity.RunImpersonated(userHandle, () => { // Code executed as the impersonated user });
ネイティブwin32APIは、ユーザー名とパスワードを使用してユーザーアカウントのトークンを取得するために使用できますが、セキュリティとエラー処理の改善については、のようなマネージドラッパーを使用することを強くお勧めします。
LogonUser
重要な考慮事項と制限SimpleImpersonation
using SimpleImpersonation; var credentials = new UserCredentials(domain, username, password); using SafeAccessTokenHandle userHandle = credentials.LogonUser(LogonType.Interactive);
以上が.NETアプリケーションにユーザーになりすましてください。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。