各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for ActiveDirectory は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にActive Directory データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for ActiveDirectory を設定します。
次の手順で、Jetty とActive Directory の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
<Configure id='activedirectorydemo' class="org.eclipse.jetty.webapp.WebAppContext">
<New id="activedirectorydemo" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="activedirectorydemo"/></Arg>
<Arg>jdbc/activedirectorydb</Arg>
<Arg>
<New class="cdata.jdbc.activedirectory.ActiveDirectoryDriver">
<Set name="url">jdbc:activedirectory:</Set>
<Set name="User">cn</Set>
<Set name="Password">bob123</Set>
<Set name="Server">10.0.1.2</Set>
<Set name="Port">389</Set>
</New>
</Arg>
</New>
</Configure>
接続には以下の情報が必要です。
BaseDN: 指定されたname にLDAP 検索の範囲を制限します。
ちなみに、BaseDN を狭い範囲に設定することで大幅にパフォーマンスを改善できます。例えば、cn=users,dc=domain は、cn=users およびその子の範囲に戻り値の結果を制限します。
Web xml でリソースを設定します:
jdbc/activedirectorydb
javax.sql.DataSource
Container
これで、java:comp/env/jdbc/activedirectorydb へのルックアップでActive Directory データにアクセスできます:
InitialContext ctx = new InitialContext();
DataSource myactivedirectory = (DataSource)ctx.lookup("java:comp/env/jdbc/activedirectorydb");
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。