Conexión de PHP LDAP

Estoy intentando conectarme en LDAP con phpldap. Tengo un problema al usar ldap_bind() :

 $username = 'josue.ruiz'; $password = 'pass'; $ldapconfig['host'] = '10.10.10.11'; $ldapconfig['port'] = 389; $ldapconfig['basedn'] = 'dc=domain,dc=com'; $ds=ldap_connect($ldapconfig['host'], $ldapconfig['port']); ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ds, LDAP_OPT_REFERRALS, 0); $dn="cn=".$username.",ou=Technology,".$ldapconfig['basedn']; if ($bind=ldap_bind($ds, $dn, $password)) { echo("Login correct"); } else { echo("Login incorrect"); } 

Recibo este mensaje:

Advertencia: ldap_bind (): no se puede vincular al servidor: credenciales no válidas en …

Pero cuando bash hacerlo de esta manera:

 ldap_bind($ds,'[email protected]','pass'); 

Funciona bien, pero para mí no funciona porque quiero filtrar por OU , y de esta manera no puedo. ¿Alguien tiene algún consejo para este problema?

Cuando intenta hacer ldap_bind , solo se está conectando y determinando si las credenciales validan. Lo que necesita hacer es agregar su dominio al nombre de usuario y dejarlo conectarse. Luego, si desea determinar si el usuario es la unidad organizativa ‘Tecnología’ con ldap_search() Considere hacerlo de la siguiente manera:

 $domain = 'mydomain.com'; $username = 'josue.ruiz'; $password = 'pass'; $ldapconfig['host'] = '10.10.10.11'; $ldapconfig['port'] = 389; $ldapconfig['basedn'] = 'dc=domain,dc=com'; $ds=ldap_connect($ldapconfig['host'], $ldapconfig['port']); ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); ldap_set_option($ds, LDAP_OPT_REFERRALS, 0); $dn="ou=Technology,".$ldapconfig['basedn']; $bind=ldap_bind($ds, $username .'@' .$domain, $password); $isITuser = ldap_search($bind,$dn,'(&(objectClass=User)(sAMAccountName=' . $username. '))'); if ($isITuser) { echo("Login correct"); } else { echo("Login incorrect"); }