私は Active Directory DirectoryServices.AccountManagement
API を使用しており、次のコードを使用してサーバーに接続しようとしています:
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, (server + ":" + port), loginUsername, loginPassword);
loginUsername
最初に、とloginPassword
が有効で、Active Directory インスタンスに十分な権限があることを確認します。これを実現するために、次のように呼び出します。
bool x = principalContext.ValidateCredentials(null, null);
documentationによると、これはコンストラクターで指定された資格情報を検証するため、null
渡されます。デバッガーでは、資格情報が false であることを示す次のエラーがスローされます。
ただし、ValidateCredentials チェックの実際の結果は奇妙なことに十分に返さtrue
れるため、コードは引き続き実行されます。
これはどのように解決できますか?
編集:
エラーについて詳しく説明している別のスクリーンショットを次に示します。スクリーンショットに示されているように、私はメソッドを呼び出し、ユーザー名とパスワードの値をValidateCredentials
渡しています。ドキュメントによると、これは PrincipalContext クラスのコンストラクターで渡された資格情報の検証を試みます。null
スクリーンショットは、渡されたユーザー名とパスワードがどちらも「test」であり、無効で Active Directory に存在しないことも示しています。多数のエラーが表示されているにもかかわらず、メソッドは true を返しています。