5

LDAP contextSource を Java EE コンテナーの JNDI ツリーに配置して、コンテナー内のアプリケーションで使用できるようにする必要があります。

ORACLE OVD に対してクエリを実行するために Spring-LDAP を使用しています。開発のために、Spring xml 構成ファイルに contextSource を設定するだけです。ただし、本番環境では、JNDI ルックアップを使用してコンテナーから接続/コンテキストを取得できる必要があります (ここで提案されているように: http://forum.springframework.org/showthread.php?t=35122&highlight=jndi )。実動 OVD インスタンスの URL/username/pwd へのアクセスが許可されていないため、jndi.properties ファイルに入れることを除外しているようです。

私のアプリケーションでは多くの LDAP クエリが同時に実行される可能性があるため、理想的には、(JDBC のような) 接続のプールが必要です。JNDI ルックアップからオブジェクトを取得して SimpleLdapTemplate に挿入するのは非常に簡単に思えますが、接続/コンテキスト/プールを JNDI ツリーに取得する方法がわかりません。それを構築して RAR にパッケージ化する必要がありますか? その場合、開発者がアクセスできないように運用チームが URL/ユーザー名/パスワードを指定できるようにするためのオプションは何ですか?

私が使用している特定のコンテナーは OAS/OC4J ですが、他のコンテナーでも機能する戦略を歓迎します。

4

3 に答える 3

8

具体的には、LDAP 接続の実際のプールに関して、組み込みの JNDI LDAP プロバイダーを使用している場合、接続は、異なる LDAP URL およびセキュリティ プロパティに対して個別のプールが維持される JDBC データ ソースと同様のセマンティクスを使用して既にプールされています。

JNDI を作成するときDirContextに、プロパティー com.sun.jndi.ldap.connect.pool をtrueに構成すると、プーリングが有効になります。

LDAP プーリングの詳細については、こちらを参照してください。

LDAP プーリングの構成の詳細については、こちらを参照してください。

于 2009-01-06T02:44:10.123 に答える
0

jbossを使用すると、外部JNDIコンテキストをJBossサーバーのJNDI名前空間にフェデレーションできます。あなたがしなければならないのは、MBean構成ファイルでLDAPアクセスを記述することだけです。キャッシュを有効にすることもできます。

このソリューションを使用して、AtiveDirectoryサーバーにアクセスしています。

http://www.jboss.org/community/docs/DOC-9726

于 2009-01-15T16:09:40.487 に答える
0

LDAP の開発バージョンをセットアップして使用できる可能性はありますか? 次に、環境固有ですが、システムには依存しない jndi.properties ファイルを使用できます。

編集: ここでの違いは、アプリをビルドするときに、管理者がそれを運用システムにデプロイできることです。これにより、貴重な LDAP パスワードが運用ボックスのプロパティ ファイルにのみ存在するため、保護されます。

于 2008-12-02T18:10:36.233 に答える