【问题标题】:Query Ldap for group details using net-ldap library使用 net-ldap 库查询 Ldap 以获取组详细信息
【发布时间】:2012-07-17 14:01:08
【问题描述】:

我正在尝试使用 ruby​​ 的 net-ldap 库查询 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

我得到了关于组的详细信息,但没有得到组的所有者。

知道什么是错的吗?以及如何做到这一点

【问题讨论】:

    标签: ldap ldap-query netldap


    【解决方案1】:

    找到了访问 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
    

    谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 2020-03-02
      相关资源
      最近更新 更多