Buenas tardes lista, os cuento:
Estoy intentando validar usuarios contra un directorio activo: He
conseguido la validación del usuario contra el dominio, pero ahora
quiero validar solo a los que pertenezcan a algún grupo determinado
dentro del dominio y es aquà donde empiezan los problemas.
Ojo, no me refiero a que pertenezcan a una unidad organizativa(con eso
no tengo problema), sino a un grupo.
Este es mi código(que valida al usuario contra el dominio):
require ‘rubygems’
require ‘net/ldap’
class LdapUser
def self.authenticate(username, password)
ldap_con = initialize_ldap_con(“COLABORA\” + username, password)
p (ldap_con.bind) ? "OK" :
“#{ldap_con.get_operation_result.message}”
treebase = "DC=colabora,DC=es"
user_filter = Net::LDAP::Filter.eq("samaccountName", username)
op_filter=Net::LDAP::Filter.eq("objectClass","organizationalPerson")
dn = String.new
ldap_con.search(:base => treebase, :filter => user_filter &
op_filter , :attributes => ‘dn’) do |entry|
dn = entry.dn
end
login_succeeded = false
unless dn.empty?
ldap_con = initialize_ldap_con(dn, password)
login_succeeded = true if ldap_con.bind
end
login_succeeded
end
protected
def self.initialize_ldap_con(username, password)
Net::LDAP.new(:host => ‘192.168.0.8’, :port => 389, :auth =>
{ :method => :simple,
:username
=> username,
:password
=> password})
end
end
El caso es que estado probando de todo, y como soleis aconsejar también
he estado mirando por google, pero no he encontrado nada que me lo
aclare… sino más bien todo lo contrario.
Gracias por vuestra atención y agradeceré cualquier ayuda.