通过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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |