1

管理者が組織のユーザー/グループなどを管理し、拡張コマンド(アカウントの無効化など)を実行できるようにするコードがいくつかあります。このコードはメインユーザーアプリケーションから完全に分離されており、管理者のみがアクセスできます。そのため、adminユーザーを使用してLDAPに接続し、必要なすべてのコマンドにアクセスできるようにします。

私が疑問に思っているのは、LdapConnectionをインスタンス化してからサーバーにバインドし、その接続をキャッシュして、毎回インスタンス化してバインドするのではなく、アプリ全体で使用できるようにする(たとえば、ApplicationオブジェクトやSessionに保存する)ことができるかどうかです。電話をかける必要がありますか?つまり、そのLdapConnectionオブジェクトは、一定の時間が経過すると期限切れになったり、タイムアウトしたり、バインドが解除されたりしますか?接続オブジェクトに「Timeout」プロパティがあるように見えますが、これは個々の呼び出しごとにあるように見えます。バインドすると、その接続を使い続けることができると仮定するのは正しいですか?これを行わない設計上の理由はありますか?

ありがとう!

4

2 に答える 2

2

使用しているディレクトリサーバーの構成によっては、次のように構成されている場合があります。

  • アイドル接続のタイムアウト
  • 接続ごとの操作の数に制限を課す
  • 操作の速度に制限を課す
  • クライアントが無期限に接続されたままになることを許可します

BIND操作(接続の許可状態の確立と呼ばれる)を使用して接続が認証IDに関連付けられると、その認証状態は、接続の存続期間中、または次のBIND要求が送信されるまで有効です。その接続。

于 2011-08-01T15:50:32.610 に答える
0

私はC#の専門家ではありませんが、LdapConnectionオブジェクトは、物理的な接続自体を表すのではなく、接続プールをオーバーレイすることを期待しています。

于 2011-08-02T02:42:47.107 に答える