绑定到LDAP服务

时间:2013-04-04 15:00:29

标签: ruby ldap

我正在使用Ruby并尝试绑定LDAP服务器。 Ruby文档在这里似乎非常模糊,并且在以下内容之后我需要做的事情并不明显:

>> 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服务需要做什么?

1 个答案:

答案 0 :(得分: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