L'anticamera del cestino

Raccolta differenziata di esperienze di dubbia utilità

PHP: autenticazione ldap

with 2 comments

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

Written by Max-B

1 marzo 2007 a 08:53

Pubblicato su php

Tagged with

2 Risposte

Subscribe to comments with RSS.

  1. Ciao,
    ottima questa funzioncina..
    Perdona l’ignoranza ma è possibile interrogare anche un Active directory?

    Grim

    13 settembre 2007 at 16:00

  2. Nello specifico di questa funzione credo non possa funzionare su Active Directory, tuttavia immagino esistano funzioni analoghe anche per AD. Ciao, Max

    maxborg

    10 ottobre 2007 at 14:31


Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: