Ogólnie wyklikanie obsługi LDAP’a w ruby’m jest bajecznie proste, osoby które twierdzą, że stara wersja Ruby-net-ldap jest zła bo jest stara, wyjaśniam że LDAP jako usługa jest raczej projektem statycznym i jako taki nie zmienia się co miesiąc. Wersja net-ldap z roku 2006 jest jak najbardziej ok i wspira właściwie wszystkie możliwości protokołu LDAP.
Pierwsze co trzeba zrobić to zainstalować bliblioteki LDAP dla Ruby’ego:
gem install ruby-net-ldap
Jak już mamy biblioteki to piszemy nasz pierwszy skrypt, powiedzmy LDAP’owy „Hello World”:
require 'rubygems'
require 'net/ldap'
username = 'user'
password = 'passwd'
ldap = Net::LDAP.new(:host => 'ldap.example.com', :base => 'ou=Users,dc=example,dc=com')
filter = Net::LDAP::Filter.eq('uid', username)
ldap.search(:filter => filter) {|entry| username = entry.dn}
ldap.auth(username, password)
if ldap.bind
print "Hello World :D";
else
print "Bye World !!!";
end
require 'net/ldap'
username = 'user'
password = 'passwd'
ldap = Net::LDAP.new(:host => 'ldap.example.com', :base => 'ou=Users,dc=example,dc=com')
filter = Net::LDAP::Filter.eq('uid', username)
ldap.search(:filter => filter) {|entry| username = entry.dn}
ldap.auth(username, password)
if ldap.bind
print "Hello World :D";
else
print "Bye World !!!";
end
Właściwie to wszystko – działa.
Reszta już powiedzmy jest prosta, szukanie, dodawanie, usuwanie – jak w LDAP’ie :)
Polecam również wątek na Google Groups na ten temat.
Smacznego.