当前位置 : 主页 > 编程语言 > ruby >

通过ruby net-ldap查询LDAP用户的更好方法?

来源:互联网 收集:自由互联 发布时间:2021-06-23
有没有更好的方法来搜索专门使用Net-ldap gem的用户和计算机? 这是我目前要做的只是为了获得用户. results = search :base = @base, :filter = Net::LDAP::Filter.eq("cn", "*") @results = Array.new results.each
有没有更好的方法来搜索专门使用Net-ldap gem的用户和计算机?

这是我目前要做的只是为了获得用户.

results = search :base => @base, :filter => Net::LDAP::Filter.eq("cn", "*")
  @results = Array.new

  results.each do |result|
    @results.push result if result[:objectclass].include? "person" unless result[:objectclass].include? "computer"

似乎会有更好的方法.我在文档中看不到任何明显的东西.

您可以使用net-ldap的Join过滤器功能:

filter = Net::LDAP::Filter.eq("sAMAccountName", "*")
filter2 = Net::LDAP::Filter.eq("objectCategory", "organizationalPerson")

joined_filter = Net::LDAP::Filter.join(filter, filter2)

ldap.search(:base => treebase, :filter => joined_filter) do |entry|
    puts entry.sAMAccountName
end
网友评论