Posted by: Max-B on: 1 Marzo 2007
Inauguro con questo breve articolo la sezione dedicata alle funzioni php che utilizzo più di frequente. Premetto che sono un programmatore php autodidatta consapevole dei propri limiti. Gli script che posterò, sono scritti da un dilettante e forse contengono anche degli errori che ignoro…. però funzionano. Se avete dei suggerimenti da darmi per migliorare la stesura saranno più che graditi.
Non sempre per controllare l’accesso degli utenti è possibile utilizzare un database interno al proprio sito. Spesso, nelle infrastrutture che contano molti utenti, questi sono gestiti all’interno di un database ldap. A volte quindi è necessario controllare l’accesso degli utenti del proprio sito utilizzando proprio questi database.
PHP offre funzioni dedicate per svolgere questo delicato compito. Quella che segue è una funzione php che, se invocata con una username e password, permette di verificarle le credenziali su un database ldap. Ovviamente è necessario specificare correttamente i parametri di accesso del proprio server ldap.
function ldap_authenticate($username,$password){
// Cambia i parametri seguenti
$ldaprdn = "uid=$username,ou=people,dc=domain,dc=com";
$ldappass = $password; // Password
if(!$username or !$password) { return false; }
// Connessione al server ldap
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
// Cambia i parametri seguenti
$ldapconn = ldap_connect("ldaps://ldap.server.com")
or die("Non riesco a connettermi al server LDAP.");
if ($ldapconn) {
// binding
$ldapbind = @ldap_bind($ldapconn, $ldaprdn, $ldappass);
// verifica bind
if ($ldapbind) {
return true;
} else {
return false;
}
}
}
Come si può intuire facilmente, se l’autenticazione ha successo la funzione restituisce true, se fallisce restituisce false.
Ulteriori informazioni sono ovviamente reperibili sul sito ufficiale di PHP
13 Settembre 2007 a 16:00
Ciao,
ottima questa funzioncina..
Perdona l’ignoranza ma è possibile interrogare anche un Active directory?