管理者が組織のユーザー/グループなどを管理し、拡張コマンド(アカウントの無効化など)を実行できるようにするコードがいくつかあります。このコードはメインユーザーアプリケーションから完全に分離されており、管理者のみがアクセスできます。そのため、adminユーザーを使用してLDAPに接続し、必要なすべてのコマンドにアクセスできるようにします。
私が疑問に思っているのは、LdapConnectionをインスタンス化してからサーバーにバインドし、その接続をキャッシュして、毎回インスタンス化してバインドするのではなく、アプリ全体で使用できるようにする(たとえば、ApplicationオブジェクトやSessionに保存する)ことができるかどうかです。電話をかける必要がありますか?つまり、そのLdapConnectionオブジェクトは、一定の時間が経過すると期限切れになったり、タイムアウトしたり、バインドが解除されたりしますか?接続オブジェクトに「Timeout」プロパティがあるように見えますが、これは個々の呼び出しごとにあるように見えます。バインドすると、その接続を使い続けることができると仮定するのは正しいですか?これを行わない設計上の理由はありますか?
ありがとう!