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
