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 に答える