ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Active Directory Driver の30日間無償トライアルをダウンロード
30日間の無償トライアルへ製品の詳細
Active Directory JDBC Driver 相談したいActive Directory ユーザー、グループ、ロール、連絡先などを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。
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 参照してください。