0

System.DirectoryServices を内部的に使用して次のコードを使用してパスワードを変更するサーバーの 1 つに Web サービスをデプロイしました。

            DirectoryEntry obDirectoryEntry = GetCurrentUserDirectoryEntry();
            obDirectoryEntry.Invoke("ChangePassword", new object[] { sOldPassword, newPassword });
            obDirectoryEntry.CommitChanges();
            obDirectoryEntry.Close();

この Web サービスは、特定の異なるドメインからヒットした場合は正常に動作しますが、他のドメインからヒットした場合は次のエラーで失敗します。

マシンが使用できないか、アクセスが拒否されたため、ドメイン コントローラから構成情報を読み取ることができませんでした。

この理由は何でしょうか?そして、回避策は何ですか?

どうもありがとう、イシャン

4

1 に答える 1

0

特定のネットワーク設定に関する詳細情報が必要ですが、回避策は動作する DomainController を指定することです。

GetCurrentUserDirectoryEntry()メソッドでは、オーバーロードを使用できます。

var user = new DirectoryEntry("LDAP://WorkingDomainController", ...);

参照: http://www.codeproject.com/KB/system/everythingInAD.aspx#7

于 2012-01-18T10:15:58.853 に答える