95 lines
3.4 KiB
Text
95 lines
3.4 KiB
Text
We're pleased to announce version 0.0.4 of Net::LDAP, the pure-Ruby LDAP library.
|
|
|
|
This version adds an implementation of Net::LDAP#bind_as, which allows
|
|
you to authenticate users who log into your applications using simple
|
|
identifiers like email addresses and simple usernames. Thanks to Simon Claret
|
|
for suggesting the original implementation in his page on the Rails-Wiki,
|
|
and for valuable comments and help with testing.
|
|
|
|
We have un-deprecated Net::LDAP#modify, which can be useful with
|
|
LDAP servers that observe non-standard transactional and concurrency
|
|
semantics in LDAP Modify operations. Note: this is a documentation change,
|
|
not a code change. Thanks to Justin Forder for providing the rationale
|
|
for this change.
|
|
|
|
We added a larger set of special characters which may appear in RFC-2254
|
|
standard search filters. Thanks to Andre Nathan for this patch.
|
|
|
|
We fixed a bug that was preventing Net::LDAP#open from being called more
|
|
than once on the same object.
|
|
|
|
|
|
Net::LDAP is 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.
|
|
|
|
If anyone wants to contribute suggestions, insights or (especially)
|
|
code, please email me at garbagecat10 .. .. gmail.com.
|
|
|
|
= 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-2251, 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.2.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.2: May 3, 2006
|
|
* Fixed malformation in distro tarball and gem.
|
|
* Improved documentation.
|
|
* Supported "paged search control."
|
|
|