def users_from_search_results(search, method)
filter = if @use_netgroups
Net::LDAP::Filter.eq('objectClass', 'nisNetgroup')
else
filter = Net::LDAP::Filter.eq('objectClass', 'posixGroup') |
Net::LDAP::Filter.eq('objectClass', 'organizationalunit')
if @use_rfc4519_group_membership
filter = filter |
Net::LDAP::Filter.eq('objectClass', 'groupOfUniqueNames') |
Net::LDAP::Filter.eq('objectClass', 'groupOfNames')
end
filter
end
groups = @ldap.search(:base => search.dn, :filter => filter)
members = groups.map { |group| group.send(method) }.flatten.uniq
if method == :memberuid
members
elsif method == :nisnetgrouptriple
@member_service.get_netgroup_users(members)
else
@member_service.get_logins(members)
end
end