2012-07-17 147 views
2

我试图查询LDAP服务器使用的净LDAP库红宝石任何组的详细查询LDAP进行组的详细信息使用net-LDAP库

require 'rubygems' 
require 'net/ldap' 

username = "user1" 
password = "pass1" 
host = 'server.address' 
ldap = Net::LDAP.new :host => host, :port => 389 
ldap.auth username, password 

filter = Net::LDAP::Filter.eq("cn", "*group*") 

ldap.search(:base => treebase, :filter => filter, :return_result => true) do |entry| 
    puts "DN: #{entry.dn}" 
    entry.each do |attr, values| 
    puts ".......#{attr}:" 
    values.each do |value| 
     puts "   #{value}" 
    end 
    end 
end 

我得到的组,但没有细节小组的所有者。

任何想法是什么错?怎么办呢

回答

6

发现访问LDAP服务器所提供的所有属性

require 'rubygems' 
    require 'net/ldap' 

    ldap = Net::LDAP.new :host => 'server', 
     :port => 389, 
     :auth => { 
       :method => :simple, 
       :username => "user", 
       :password => "pass" 
     } 

    group_name_filter = Net::LDAP::Filter.eq("cn", "la lakers") 
    group_type_filter = Net::LDAP::Filter.eq("objectclass", "basketball") 
    filter = group_name_filter & group_type_filter 
    treebase = "dc=example,dc=com" 
    attrs = ["dn", "cn", "mail", "displayname", "listowner", "members"] 

    ldap.search(:base => treebase, :filter => filter, :attributes => attrs, :return_result => true) do |entry| 
    puts "DN: #{entry.dn}" 
    entry.each do |attribute, values| 
     puts " #{attribute}:" 
     values.each do |value| 
     puts "  --->#{value}" 
     end 
    end 
    end 

    p ldap.get_operation_result 

感谢

的正确方法