Pregunta:
Fecha: 25-08-2017 06:30:31
(En Español)
Anexo lo que hice, pero aquí solo hace la conexion y una busqueda por sn.
Este formulario me retorna 3 resultados lo cual es falso porque dentro de ese directorio hay aprox 13mil registros, agradezco sus aportes.
Votos: 0 - Respuestas: 2 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
Validación de usuario con LDAP[No resuelta]
Buenos dias, espero se encuentren bien, el motivo de mi pregunta es la siguiente, en mi proyecto debo validar a los usuarios tomando como refrencia los registros que estan en LDAP, he usado el ejemplo que da PHP y me funciona la conexión y la busqueda, ahora bien no se dentro de la sintaxis de LDAP como cotejar que el usuario correo y clave que ingresen por post, sea cotejado con el usuario y clave de LDAP para iniciar sesion...Anexo lo que hice, pero aquí solo hace la conexion y una busqueda por sn.
Este formulario me retorna 3 resultados lo cual es falso porque dentro de ese directorio hay aprox 13mil registros, agradezco sus aportes.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Validación en servidor LDAP con PHP</title> </head> <body> <?php // La secuencia básica con LDAP es conectar, amarrar, buscar, interpretar el resultado // de la búsqueda, y cerrar la conexión. echo "<h3>Consulta de prueba LDAP</h3>"; echo "Conectando ..."; $ds=ldap_connect("xxxxxx"); // Debe ser un servidor LDAP válido! echo "El resultado de la conexión es " . $ds . "<br />"; if ($ds) { echo "Vinculando ..."; $r=ldap_bind($ds); // Esta es una vinculación "anónima", tipicamente // con acceso de sólo lectura. echo "El resultado de la vinculación es " . $r . "<br />"; echo "Buscando (sn=A*) ..."; // Busca la entrada de apellidos $sr=ldap_search($ds, "OU=Administradores,OU=Usuarios,OU=Cuentas,DC=xxx,DC=xxxt", "sn=A*"); echo "El resultado de la búsqueda es " . $sr . "<br />"; echo "El número de entradas devueltas es " . ldap_count_entries($ds, $sr) . "<br />"; echo "Obteniendo entradas ...<p>"; $info = ldap_get_entries($ds, $sr); echo "Los datos para " . $info["count"] . " objetos devueltos:<p>"; for ($i=0; $i<$info["count"]; $i++) { echo "El dn es: " . $info[$i]["dn"] . "<br />"; echo "La primera entrada cn es: " . $info[$i]["cn"][0] . "<br />"; echo "La primera entrada de correo electrónico es: " . $info[$i]["mail"][0] . "<br /><hr />"; } echo "Cerrando la conexión"; ldap_close($ds); } else { echo "<h4>No se puede conectar al servidor LDAP</h4>"; } ?>
Votos: 0 - Respuestas: 2 - Vistas: 20 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 25-08-2017 10:40:17 bueno tiene que tener en cuenta que la besuqueada que esta realizando es sn=A*, no se mucho de tema pero lo que tendría que hacer es simplemente una consulta desde un formulario, en este caso tu estas ingresando estos parámetros para la consulta:
OU=Administradores,OU=Usuarios,OU=Cuentas,DC=xxx,DC=xxxt", "sn=A*
por lo cual el servidor ldap te traerá solo lo que coincida con ella
en mi caso crearía un formulario con los campos que requieras para parametrizar tu busqueda, y simplemente haría consultas con las variables que trae el form.
y pues la documentación es bastante amplia y puede guiarte en el camino.
Documentación LDAP PHP
Votos: 0 - Link respuesta -
Fecha: 25-08-2017 12:30:43 si bryan eso lo se coloque eso porque s el ejemplo de hecho me hace la consulta desde el formulario buscando el nombre de usuario pero necesito jalar la misma informacion buscando por cedula osea el "sn=A" no va cambio eso por un "uid=$user*", que ingreso via POST el detalle es que si cambio el udi por sn u otro argumento no me realiza la busqueda, gracias por el aporte Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión