使用 Rails 列出 LDAP 中的所有 OU

Listing all OU's in LDAP with Rails

我正在尝试列出我的 LDAP 目录中的所有组织单位 (OU)。我正在使用 "devise_ldap_authenticatable" gem 来验证我的用户。 LDAP 登录工作正常。我现在正在尝试获取所有 OU。

我是 LDAP 新手,如果我的搜索查询有误,请告诉我。

ldap = Net::LDAP.new
ldap.host = "192.168.0.100"
ldap.port = 389
ldap.auth "cn=admin,dc=company,dc=com", "password"

treebase = "dc=company,dc=com"
filter = Net::LDAP::Filter.eq( "objectClass=organizationalUnit","company.com" )
attrs = ["*"]

ldap.search( :base => treebase, :filter => filter, :attributes => attrs, :return_result => false ) do |entry|
  puts entry
end

当我 运行 这样做时,我没有得到任何回报。我的 LDAP 中有两个 OU,DevOps 和 Development。每个有5个测试用户。

我不确定这是否是正确的方法,但它让我得到了我想要的,我对此很满意。

我刚刚删除了过滤器并直接从条目中检索了 ou。

ldap.search( :base => treebase, :attributes => attrs, :return_result => false ) do |entry|
  puts entry["ou"]
end