最近のキーワード

2006年05月03日

Net::LDAP

Net::LDAPというLDAPクライアントライブラリのpure ruby版がリリースされた。 LDAP Super Expertには間に合わなかったが、もし書くとしたら既存のLDAPライブラリとの差異について書いたりするのだろう。が、すでにメーリングリストでその種の質問が行われている。
以下、[ruby-talk:190921]より全文引用。
We're pleased to announce the first release of Net::LDAP, the first
pure-Ruby LDAP library. Net::LDAP intends to be a feature-complete
LDAP client which can access as much as possible of the functionality
of the most-used LDAP server implementations. This library does
not wrap any existing native-code LDAP libraries, creates no
Ruby extensions, and has no dependencies external to Ruby.

Net::LDAP includes a full implementation of the LDAP wire-line
protocol so it can also be used in LDAP server implementations.

Thanks for Austin Ziegler for invaluable help in reviewing the
implementation and providing the release structure.

= What is Net::LDAP for Ruby?
This library provides a pure-Ruby implementation of an LDAP client.
It can be used to access any server which implements the LDAP protocol.

Net::LDAP is intended to provide full LDAP functionality while hiding
the more arcane aspects of the LDAP protocol itself, so as to make the
programming interface as Ruby-like as possible.

In particular, this means that there is no direct dependence on the
structure of the various "traditional" LDAP clients. This is a ground-up
rethinking of the LDAP API.

Net::LDAP is based on RFC-1777, which specifies the Lightweight Directory
Access Protocol, as amended and extended by subsequent RFCs and by the more
widely-used directory implementations.

Homepage::  http://rubyforge.org/projects/net-ldap/
Download::  http://rubyforge.org/frs/?group_id=143
Copyright:: 2006 by Francis Cianfrocca

== LICENCE NOTES
Please read the file LICENCE for licensing restrictions on this library. In
the simplest terms, this library is available under the same terms as Ruby
itself.

== Requirements and Installation
Net::LDAP requires Ruby 1.8.2 or better.

Net::LDAP can be installed with:

% ruby setup.rb

Alternatively, you can use the RubyGems version of Net::LDAP available
as ruby-net-ldap-0.0.1.gem from the usual sources.

== Whet your appetite:
   require 'net/ldap'

   ldap = Net::LDAP.new :host => server_ip_address,
        :port => 389,
        :auth => {
              :method => :simple,
              :username => "cn=manager,dc=example,dc=com",
              :password => "opensesame"
        }

   filter = Net::LDAP::Filter.eq( "cn", "George*" )
   treebase = "dc=example,dc=com"

   ldap.search( :base => treebase, :filter => filter ) do |entry|
     puts "DN: #{entry.dn}"
     entry.each do |attribute, values|
       puts "   #{attribute}:"
       values.each do |value|
         puts "      --->#{value}"
       end
     end
   end

   p ldap.get_operation_result

== Net::LDAP 0.0.1: May 1, 2006
* Initial release.
* Client functionality is near-complete, although the APIs
 are not guaranteed and may change depending on feedback
 from the community.
* We're internally working on a Ruby-based implementation
 of a full-featured, production-quality LDAP server,
 which will leverage the underlying LDAP and BER functionality
 in Net::LDAP.
* Please tell us if you would be interested in seeing a public
 release of the LDAP server.
* Grateful acknowledgement to Austin Ziegler, who reviewed
 this code and provided the release framework, including
 minitar.
posted by ttate at 02:02| Comment(0) | TrackBack(0) | Ruby | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/17324416
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック