如何高效利用Ruby net-ldap模块进行LDAP用户查询?

更新于
2026-10-09 22:35:50
1阅读来源:SEO教程
  • 内容介绍
  • 相关推荐

本文共计189个文字,预计阅读时间需要1分钟。

如何高效利用Ruby net-ldap模块进行LDAP用户查询?

要搜索使用Net-ldap+gem的用户和计算机,可以使用以下代码:

rubyresults=search(:base=> @base, :filter=> Net::LDAP::Filter.eq(cn, *))results.each do |entry| puts entry.cn.valueend

有没有更好的方法来搜索专门使用Net-ldap gem的用户和计算机?

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

如何高效利用Ruby net-ldap模块进行LDAP用户查询?

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

本文共计189个文字,预计阅读时间需要1分钟。

如何高效利用Ruby net-ldap模块进行LDAP用户查询?

要搜索使用Net-ldap+gem的用户和计算机,可以使用以下代码:

rubyresults=search(:base=> @base, :filter=> Net::LDAP::Filter.eq(cn, *))results.each do |entry| puts entry.cn.valueend

有没有更好的方法来搜索专门使用Net-ldap gem的用户和计算机?

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

如何高效利用Ruby net-ldap模块进行LDAP用户查询?

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