0

PrincipalContextが(いくつかの資格情報を使用して)ActiveDirectoryサーバーに接続されている場合、そのValidateCredentialsメソッドを呼び出して、他のいくつかの資格情報(たとえば、PrinicapContextの接続に使用される資格情報とは異なる他のユーザー名/パスワードのペア)を検証できます。

基本的に同じことをしたいのですが、LdapConnectionを使用します。LdapConnectionが正常に接続され、openLDAPサーバーにバインドされています。次に、別の資格情報のセットを検証します。これらの資格情報は、上記のユーザー名とパスワードのペアではなく、識別名とパスワードのペアである必要があると思います。それはいいです。

一時的な2番目のLdapConnectionを作成し、2番目の資格情報のセットとバインドして検証できると思います。

これを行うためのより良い方法はありますか?特に、既存のLdapConnectionを使用して他の資格情報を検証/認証する方法はありますか?ところで、私はこれのためにC#4.0にいます。

4

1 に答える 1

0

アプリケーションコードは、既存の接続の認証状態を変更することで資格情報を検証できます(LDAPv3のみ)。このプロセスは、bind 要求を送信し、サーバーからの応答を調べることによって実行されます。サーバーからのバインド応答の結果コードがである場合0、資格情報は正しく、アカウント(識別名で識別される)は使用可能です。バインド応答の結果コードがゼロ以外の場合は、エラーが発生しています。資格情報が無効であるか、識別名が存在しないか、識別名に関連付けられているアカウントが無効になっているか、その他のエラーが発生している可能性があります。

これは、既存の接続を使用して実行することも、アプリケーションが新しい接続を確立して、新しい接続でバインド要求を送信することもできます。

于 2012-04-05T09:52:18.203 に答える