有没有更好的方法来专门使用 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
关于ruby - 通过 ruby net-ldap 查询 LDAP 用户的更好方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6434752/