使用Rails列出LDAP中的所有OU

时间:2015-02-25 05:10:40

标签: ruby-on-rails devise ldap ldap-query

我正在尝试列出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,DevOps和开发中有两个OU。每个测试用户有5个。

1 个答案:

答案 0 :(得分:1)

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

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

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