2013-04-04 188 views
1

我正在使用Ruby並試圖綁定LDAP服務器。 Ruby的文檔似乎是非常含糊這裏不是很明顯我需要以下後做:綁定到LDAP服務

>> require 'uri' 
=> true 

>> newuri = URI::LDAP.build({:host => '10.1.1.1', :dc => 'cjndemo' , :dc => 'com',  :user =>'admin', :password => 'Passw0rd'}) 
=> #<URI::LDAP:0x007fea9d0cef60 URL:ldap://10.1.1.1?> 

什麼我需要做綁定,然後查詢我的LDAP服務?

回答

2

URI :: LDAP僅用於解析和生成LDAP URI。如果您想查詢LDAP服務器,則需要使用其他工具,如net-ldapruby-ldap

的使用net-LDAP簡單驗證綁定一個例子:

require 'net/ldap' 

ldap = Net::LDAP.new(:host => '10.1.1.1', 
        :auth => { 
         :method => :simple, 
         :username => 'cn=admin,dc=cjndemo,dc=com', 
         :password => 'Passw0rd' 
         }) 

if ldap.bind 
    base = 'dc=cjndemo,dc=com' 
    filter = Net::LDAP::Filter.eq('objectclass', '*') 
    ldap.search(:base => base, :filter => filter) do |object| 
    puts "dn: #{object.dn}" 
    end 
else 
    # authentication error 
end 
+0

編曲 - 我明白了。這兩個庫有什麼不同? – user1513388 2013-04-04 15:21:17