製品をチェック

Active Directory Driver の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Active Directory アイコン Active Directory JDBC Driver 相談したい

Active Directory ユーザー、グループ、ロール、連絡先などを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。

Jetty コネクションプールからActive Directory データに連携。

CData JDBC Driver は、コネクションプーリングをサポートします:本記事では、Jetty のWeb アプリからActive Directory データに連携する手順を説明します。

加藤龍彦
ウェブデベロッパー

最終更新日:2023-06-18
activedirectory ロゴ

CData

jdbc ロゴ画像
Jetty ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData JDBC Driver for ActiveDirectory は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にActive Directory データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for ActiveDirectory を設定します。

DBC Driver for ActiveDirectory を JNDI Data Source として設定

次の手順で、Jetty とActive Directory の接続を確立します。

  1. Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:

    java -jar ../start.jar --add-to-startd=jndi
  2. JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
  3. リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、Active Directory データソースをWeb アプリケーションのWEB-INF\jetty-env.xml レベルにdeclare しています。

    <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>

    ActiveDirectory 接続プロパティの取得・設定方法

    接続には以下の情報が必要です。

    • 有効なユーザーおよびパスワード情報 (例:Domain\BobF or cn=Bob F,ou=Employees,dc=Domain)。
    • 接続するサーバーのIP、ホスト名、ポートを含むサーバー情報。
    • BaseDN: 指定されたname にLDAP 検索の範囲を制限します。

      ちなみに、BaseDN を狭い範囲に設定することで大幅にパフォーマンスを改善できます。例えば、cn=users,dc=domain は、cn=users およびその子の範囲に戻り値の結果を制限します。

  4. Web xml でリソースを設定します:

    jdbc/activedirectorydb javax.sql.DataSource Container
  5. これで、java:comp/env/jdbc/activedirectorydb へのルックアップでActive Directory データにアクセスできます: InitialContext ctx = new InitialContext(); DataSource myactivedirectory = (DataSource)ctx.lookup("java:comp/env/jdbc/activedirectorydb");

Jetty にさらに統合

ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI  参照してください。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。