RubyからLDAPをつかう

Posted on March 7, 2016 , Tags: Ruby, LDAP

所用でRubyからLDAPを使う必要があったので調べた。

そもそもLDAPとは

RDBのテーブルのようなものを想定しておけばいいようだ。
ただし、各レコードが構造をもち、各レコードに階層構造のインデックスがついている。
yoshitsugu.hogehoge.ne.jp をひっぱってくれば jp -> ne -> hogehoge -> yoshitsugu とインデックスをたどっていき、たどった先にある電話番号とかメールアドレスとかがずるずるっとひけるイメージ。
詳しくはRFC4510などを参考にするとよいと思う。

LDAP用のgem

  • ruby-ldap
    メンテされてないのか安定しているのかわからないが、2009/4/21からupdateされていない。
    一部C実装なので下のnet-ldapよりはやいらしい。

  • net-ldap
    Pure Rubyのライブラリ。
    Pure Rubyなので、ruby-ldapより遅いが、ポータビリティが高い。

Ruby ToolBox を見ると Devise LDAP Authenticalble など他にもいくつかあるようだ。

Net::LDAP

上記のうち、net-ldapを使った。理由は一番メンテされてそうなことと、ポータビリティが高いから。
使い方は簡単で例えば、以下のようにすればfilterした結果を取得できる。

お手軽。

参考