jun
28
2012
28
2012
Consultar usuario en OpenLdap desde PHP
Hola hoy os comento, tengo una aplicación web y debe chequear si el usuario y la contraseña son correctos, para ello tengo esta pagina que me revisa estos datos y si son correctos me envia a la pagina de control y si no me envia a el inicio con un error de acceso.
<?php
$ldap['user'] = $_POST["usuario"];
$ldap['pass'] = $_POST["clave"];
if ($ldap['user']==NULL OR $ldap['pass']==NULL) print "<body onload=\"window.location='index.php?error=Acceso denegado';\">";
error_reporting(0);
// ejemplo de autenticacióld
$ldaprdn = 'cn=Manager,dc=FresyMetal,dc=es';
$ldappass ='contraseña';
// conexiól servidor LDAP
$ds = ldap_connect("192.168.0.5")
or die("No puede conectar a LDAP server.");
if ($ds) {
// realizando la autenticació
$ldapbind = ldap_bind($ds, $ldaprdn, $ldappass);
// verificacióel enlace
if ($ldapbind) {
echo "LDAP Bien.";
$sr=ldap_search($ds,"ou=usuarios,dc=FresyMetal,dc=es", "cn=". $ldap['user']."");
echo "El resultado de la busqueda es ".$sr."";
echo "<br>";
echo "El numero de entradas devueltas es ".ldap_count_entries($ds,$sr)."";
echo "<br>";
echo "Recuperando entradas ...<br>";
$info = ldap_get_entries($ds, $sr);
echo "Devueltos datos de ".$info["count"]." entradas:";
echo "<br>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn es: ". $info[$i]["dn"] ."";
echo "<br>La primera entrada cn es: ". $info[$i]["cn"][0] ."";
echo "<br>La primera entrada email es: ". $info[$i]["mail"][0] ."";
$perra=$info[$i]["mail"][0];
echo "<br>". $info[$i]["mail"][0] ."";
echo "<br>La contrasena es: ";
echo $info[$i]["userpassword"][0] ."";
$bu=$info[$i]["cn"][0];
$bp=$info[$i]["userpassword"][0];
}
if ($bp==$ldap['pass'] && $bu==$ldap['user']){
session_cache_expire(60);
session_start();
session_cache_limiter('nocache,private');
$_SESSION['usuario']=$_POST["usuario"];
$_SESSION['clave']=$_POST["clave"];
$_SESSION['mail']=$perra;
$_SESSION['rol']=$x;
$_SESSION['usuario_fecha']=date("Y-n-j H:i:s");
$pag=$_server['PHP_SELF'];
echo "<head><meta http-equiv=\"refresh\"content=\"0; url=panel.php\"></head>";
}
else{
echo "LDAP bind falla...";
print "<body onload=\"window.location='index.php?error=Acceso denegado';\">";
print "</body>";
ldap_close($ds);
exit();
}
} else {
echo "LDAP bind failed...";
}
}
?>
un saludo
Related Posts
Enlace corto
Leave a comment
Comentarios recientes
Etiquetas
ARP
ARP REPLAY
ARP REQUEST
asterisk
Aula virtual
bigbluebutton
centralita
comandos
configuración
consola
crackear
debian
Diseño web
Dlink DNS-320
DNS-320
elastix
Firmware
flickr clon
Fundamentos de programación
Fundamentos de programación 2
gmail
instalación
jitsi
linksys SPA 3102
linux
llamadas gratis
moodle
NAS
packet tracert
php
Raspberry
raspbian
redes
screen
script
servidor
simm
software
ssh
transmission
videoconferencias
vmware
voip
web
wifi

Un articulo de admin







