Per verificare questo basta creare un pagina informazioni con:
echo phpinfo();Se eseguiamo la pagina e si vede il supporto LDAP allora siamo pronti altrimenti si deve ricompilare php con il supporto LDAP aggiungendo l'opzione --with-ldap[=DIR] per configurarlo.
Utilizzando Ubuntu in alternativa si possono installare i pacchetti occorrenti tramite i comandi:
sudo apt-get install slapd ldap-utilsdopodichè siamo pronti per creare la pagina di collegamento ad Active directory
andare nella configurazione di php
/etc/php5/apache/php.ini
aggiungendo :
extension=mod_ldap.so
poi riavviare apache sudo /etc/init.d/apache2 restart
sudo apt-get install php5-gd php5-ldap
sudo /etc/init.d/apache2 restart
che sarà:
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connection
$ldapserver="indirizzo ip o nome host del server Active Directory";
$ldaprdn ="Nome Utente";
$ldappass ="Password relativa all'utente"; //questi ultimi 2 dati si possono prenderre anche da
//una form HTML
$filter ="mail=*";
echo "
LDAP query test
";
echo "Connesione ...";
//connessione al server
$ds=ldap_connect($ldapserver); // deve essere un nome server LDAP valido!
echo "risultato di connessione : " . $ds . "
";
if ($ds) {
echo "Autenticazione ...";
$utente=$ldaprdn ."@". $ldapserver; //spesso il nome utente deve essere seguito da nome del
//server es. Utente@Server_LDAP
echo $utente;
$lv = ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
$r=ldap_bind($ds,$utente,$ldappass);
echo "Risultato della connessione: " . $r . "
";
<--------------------------------da verificare --------------------------->
echo "Searching for (sn=S*) ...";
// Search surname entry
$sr=ldap_search($ds,"dc=provincia,dc=tn,dc=it",$filter);
echo "Search result is " . $sr . "
";
echo "Number of entires returned is " . ldap_count_entries($ds, $sr) . "
";
echo "Getting entries ...";
$info = ldap_get_entries($ds, $sr);
echo "Data for " . $info["count"] . " items returned:
";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: " . $info[$i]["dn"] . "
";
echo "first cn entry is: " . $info[$i]["cn"][0] . "
";
echo "first email entry is: " . $info[$i]["mail"][0] . "
";
}
echo" get DN
";
$dn = ldap_get_dn ($ds,$resource);
echo "result is " . $dn;
$informazioni=ldap_get_entries ($ds);
echo "- numero entrate ".$informazioni['count'];
echo "
";
echo "Closing connection";
ldap_close($ds);
} else {
echo "
Unable to connect to LDAP server
";
}
?>
da verificare e spiegare le funzioni.
Nessun commento:
Posta un commento