Ruby でLDAP データ連携アプリを構築

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

LDAP ODBC Driver

LDAP ODBC ドライバーは、ODBC 接続をサポートする任意のアプリケーションからリアルタイムなLDAP ディレクトリサービスに直接接続できるパワフルなツールです。標準のODBC ドライバーインタフェースを使用して、データベースのようにLDAP オブジェクトにアクセスし、任意のObjectClass のカスタムテーブルを定義し、SQL クエリーを実行できます。



Ruby でODBC 経由でLDAP に接続して、モダンなクラウド連携アプリを開発。

CData ODBC Driver for LDAP を使うと、簡単にRuby アプリケーションにリアルタイムLDAP データを連携・統合できます。 Tこの記事では、LDAP] データにリアルタイムに連携するRuby アプリケーションを構築して、クエリを実行し、結果を表示してみます。

LDAP データのODBC 接続を設定

通常はCData ODBC Driver のインストール後にODBC DSN 接続ウィザードが立ち上がり、設定を行うことができます。 もしODBC DSN 接続が未済の場合には、Microsoft ODBC データソースアドミニストレータでODBC DSN を作成および設定することができます。

リクエストを認証するには、User およびPassword プロパティを有効なLDAP クレデンシャル(例えば、User を"Domain\BobF" または"cn=Bob F,ou=Employees,dc=Domain")に設定します。 本製品は、デフォルトでプレーンテキスト認証を使用します。これは、本製品がサーバーとTLS/SSL のネゴシエーションを試みるためです。 AuthMechanism を使って別の認証方法を指定できます。 TLS/SSL コンフィギュレーションについて詳しくは、ヘルプドキュメントの「高度な設定」を参照してください。

    基本接続には、Server およびPort を設定します。さらに、次のように接続を微調整できます。
  • FollowReferrals:設定すると、本製品は参照サーバーのデータもビューとして表示します。参照サーバー上のデータを変更するには、このサーバーをServer およびPort で指定する必要があります。
  • LDAPVersion:サーバーが実装するプロトコルのバージョンに設定します。デフォルトでは、本製品はversion 2 を使用します。
  • BaseDN は、LDAP 検索の範囲を指定された識別名の高さに限定します。BaseDN の範囲を絞ることはパフォーマンスを劇的に向上させます。例えば、"cn=users,dc=domain" の値は、"cn=users" およびその子に含まれる結果のみを返します。
  • Scope:このプロパティを使用すると、サブツリーから返されるデータをより細かく制御できます。

Ruby および必要なGem のインストール

If you do not have Ruby installed, refer to the Ruby インストールページ. Ruby をインストールしたら、次にruby-dbi、dbd-odbc、ruby-odbc gems をインストールします:

gem install dbi gem install dbd-odbc gem install ruby-odbc

LDAP データに連携するRuby アプリケーションの作成

Ruby ファイル (例: LDAPSelect.rb) を作成し、テキストエディタで開きます。ファイルに次のコードをコピーします:

#connect to the DSN require 'DBI' cnxn = DBI.connect('DBI:ODBC:CData LDAP Source','','') #execute a SELECT query and store the result set resultSet = cnxn.execute("SELECT Id, LogonCount FROM User") #display the names of the columns resultSet.column_names.each do |name| print name, "\t" end puts #display the results while row = resultSet.fetch do (0..resultSet.column_names.size - 1).each do |n| print row[n], "\t" end puts end resultSet.finish #close the connection cnxn.disconnect if cnxn

これで、Ruby で LDAP データが接続できるようになります。簡単にコマンドラインからファイルを叩いて接続を確認してみましょう。:

ruby LDAPSelect.rb LDAP へのSQL-92 企画のSQL を使って、Ruby に簡単にLDAP を連携できます。是非、トライアルで試してみてください。