2

ドメイン サーバーに接続していくつかのアクションを実行する次の C# コードがあります。私のコンピューターではすべてが正常に機能し、すべてのコマンドを正常に実行できます。

私の質問は次のとおりです。サーバーへの接続に使用される資格情報は何ですか? 現在のユーザーの資格情報を使用していると思います。したがって、私の本当の質問は、これが通常のユーザーで機能するかどうかです。私は管理者であり、私のマシンでは問題なく動作します。

ただし、管理者以外にも同じことが当てはまるかどうか疑問に思っていますか?

PrincipalContext AD = new PrincipalContext(ContextType.Domain, "172.18.4.4");

UserPrincipal u = new UserPrincipal(AD);
u.SamAccountName = Environment.UserName;

PrincipalSearcher search = new PrincipalSearcher(u);

UserPrincipal result = (UserPrincipal)search.FindOne();
4

1 に答える 1

4

そのコードが Windows アプリで実行されている場合、使用される資格情報は現在の Windows ユーザーのものであり、ドメインで正常に動作するはずです。コードが ASP.NET サイトで実行されている場合、資格情報は、サイトが実行されているアプリケーション プールの資格情報です。この最後のケースでは、アプリ プールの ID をいじる必要があるかもしれません: LocalSystem、NetworkService...

上記のいずれの場合でも、ユーザーになりすましてこのコードを実行することができます: (答えを見てください)

LogonUser を適切に使用して、ワークグループ クライアントからドメイン ユーザーを偽装する方法

于 2012-05-25T22:52:46.120 に答える