加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 01:29:05 所属栏目:百科 来源:网络整理
导读:有没有更好的方法来搜索专门使用Net-ldap gem的用户和计算机? 这是我目前要做的只是为了获得用户. results = search :base = @base,:filter = Net::LDAP::Filter.eq("cn","*") @results = Array.new results.each do |result| @results.push result if resu
有没有更好的方法来搜索专门使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读