New question

Question:

Date: 25-08-2017 06:30:31 (In Spanish)

Validación de usuario con LDAP[Unresolved]

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>";
}
?>

Tags: LDAP - PHP - Question - Session - Validaciones Votes: 0 - Answers: 2 - Views: 20 Share on: Google Facebook Twitter LinkedIn Link
 

Answers:

  • Date: 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
      Votes: 0 - Link answer
     
  • Date: 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   Votes: 0 - Link answer
     
To actively participate in the community first must authenticate, enter the system.Sign In