3

私はActiveDirectoryMembershipProviderconnectionProtection属性をセキュアに設定しました。MSDNドキュメントによると、これをセキュアに設定すると、次のホールドが保持されます。

「ActiveDirectoryMembershipProviderクラスはSSLを使用してActiveDirectoryに接続しようとします。SSLが失敗した場合、サインアンドシールを使用してActive Directoryに接続する2回目の試行が行われます。両方の試行が失敗した場合、ActiveDirectoryMembershipProviderインスタンスはProviderException例外をスローします。 「」

コードは機能し、LDAPに対してクエリを実行できますが、少し混乱している問題の1つは、接続文字列のプレフィックスがLDAPSではなくLDAPであるということです。これをLDAPSに変更すると、次のエラーが発生します。「パーサーエラーメッセージ:COMコンポーネントの呼び出しからエラーHRESULTE_FAILが返されました。」

ここで何が起きてるの?接続文字列が単にLDAPである最初の例では、SSLが使用されていますか?ドキュメントには、そうでない場合は例外をスローする必要があることが示されています。そうでない場合、このコンテキストでこのエラーの原因として考えられるものは何でしょうか。

4

2 に答える 2

3

私が知る限り、すべての LDAP DN (識別名) には常にLDAPプレフィックスのみがあります (それらが安全なリンクを経由しているかどうかに関係なく)。セキュアな側面は通常、使用されているサーバーのポートによって示されます。389 は非セキュアのデフォルトであり、636 はセキュアな通信のデフォルトです。

しかし、LDAP 識別名の仕様には、実際には LDAPS プレフィックスがありません。私は数年前に多くの LDAP 作業を行ってきましたが、信頼できる通信または安全な通信のためにさまざまなポートを処理しなければならなかったことを覚えていますが、完全修飾 LDAP パスにLDAP://プレフィックス (大文字と小文字を区別する) 以外のものが含まれていることは一度もありませんでした。 、 それも!)。

于 2010-01-19T21:56:30.833 に答える
2

LDAP:// プレフィックスは、クリア接続と SSL 接続の両方に使用されます。通信が実際に SSL で行われているかどうかを確認するには、このブログ エントリhttp://erlend.oftedal.no/blog/?blogid=7の手順 3を試してください。

于 2010-07-05T00:47:13.980 に答える