validación usuarios usuario servidor petición para obtener los ldapsearch formulario ejemplos ejemplo datos contraseña con php ldap symfony-1.4 ldap-query

php - usuarios - ldapsearch ejemplos



Filtro de búsqueda erróneo en LDAP cuando intenta obtener datos de usuario (1)

Para usar paréntesis en el valor de aserción de un filtro, el parenthese debe ser escapado. Un filtro de búsqueda donde el valor de aserción es samAccountName=(jtesting) debe codificarse como samAccountName=/28jtesting/29 . El valor de aserción completo puede estar entre paréntesis que no se han escapado, en cuyo caso el filtro se convierte en (samAccountName=/28jtesting/29) .

Más información

Estoy recién salido de la caja aquí con LDAP, así que avíseme si estoy haciendo esto de una manera completamente incorrecta.

Estoy trabajando con Symfony 1.4 utilizando el complemento bhLDAPAuthPlugin

Estoy verificando el inicio de sesión del usuario con LDAP. Sin embargo, hay más datos en la tabla LDAP que me gustaría consultar con el nombre de usuario. Así que estoy escribiendo esta función de búsqueda para filtrar los resultados según el nombre de usuario:

function user_values($username) { if (!$username) { die ("Username is not there man!"); } if (!$this->_conn) { die ("No Connection."); } if (!$this->_base_dn) { die ("No Base."); } $filter="samaccountname=".$username; $attributes_ad = array("name"); $result = ldap_search($this->_conn, $this->_base_dn, $filter, $attributes_ad) or die ("Error in search query"); $entries = ldap_get_entries($this->_conn, $result); return($entries); }

Estoy obteniendo el error:

Advertencia: ldap_search (): Buscar: Filtro de búsqueda erróneo en / ... Error en la consulta de búsqueda

cuando ejecuto la consulta

Los primeros tres "si" están ahí solo para asegurar que estaba obteniendo los parámetros correctos para la búsqueda. La condición falla en la búsqueda real.

¿Alguna sugerencia?

ACTUALIZAR

La variable de nombre de usuario es jtesting

Saqué el nombre de usuario $ de la función, antes de ponerlo en el parámetro de búsqueda. En realidad es (jtesting). Voy a eliminar el paréntesis y ver si eso soluciona el problema.