ASP.NETプロジェクトから古いVB6dll(ソースコードはありません)を呼び出そうとしています。dllはWindows認証を使用してサーバーに接続するため、現在のNETWORKSERVICEではなく、特定のユーザーとして関数を呼び出す必要があります。
これは、リモートユーザーになりすましているため、ロード時ではなく呼び出し時に決定することが望ましいです。これは、アプリケーションユーザーではなく、現在のNETWORKSERVICEではなく、関数を呼び出すユーザーになりたいためです。
したがって、ブラウザはUSERとして実行され、USERになりすましているアプリケーションに接続し、dllをUSERとして呼び出しますが、dllはUSERではなくNETWORKSERVICEとしてリモートサーバーに接続しようとしています。
このdllをUSERとしてリモートサーバーに接続することは可能ですか?または、他に何もない場合は、アプリケーションユーザーとして接続しますか?
編集:なりすましは、リモートユーザーの
を呼び出すことによってコードで行われます。私が働いている会社には習慣があるので、 (よりも少し深い)を取得する方法は奇妙ですが、以前はこの方法を使用して成功し、それ
が正しいユーザーであることを確認しましたなりすまし。Impersonate()
WindowsIdentity
SecurityPrincipal
SecurityIdentity
WindowsIdentity
User.Identity
System.Security.Principal.WindowsIdentity.GetCurrent().Name