3

I am trying to query an ldap server for details of any groups using the net-ldap library for ruby

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

I get details about the group but not the owners of the group.

Any idea on what is wrong ?? and how to do it

Terry Gardner
  • 10,957
  • 2
  • 28
  • 38
AaShish Upadhyay
  • 243
  • 3
  • 12

1 Answers1

10

Found the correct way of accessing all the attributes offered by the LDAP server

 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

Thanks

ted
  • 5,219
  • 7
  • 36
  • 63
AaShish Upadhyay
  • 243
  • 3
  • 12