1

我正在使用 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 服务?

4

1 回答 1

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
于 2013-04-04T15:16:39.790 回答