|
Check LDAP Password per Joomla |
|
|
|
|
Scritto da Alessandro Pensato
|
|
Sabato 29 Gennaio 2011 13:27 |
|
Con questo semplice script, vado a controllare se la password dell'utente salvata su LDAP, è valida. Lo script è scritto per funzionare con Joomla, infatti usa il suo login form per catturare lo username dell'utente per andarlo a cercare su LDAP.
In caso positivo viene visualizzata la pagina di benvenuto del servizio, altrimenti avviene un redirect su una pagina per effettuare il cambio password.
<?php // no direct access defined( '_JEXEC' ) or die( 'Restricted access' );
// Parametri di connessione a LDAP $server = "ldap.porkyhttp.no-ip.info"; $dn = "ou=Users,dc=porkyhttp,dc=no-ip,dc=info";
// Recupero l'URL di base $baseurl = JURI::base();
// Recupero lo username dell'operatore $us = & JFactory :: getUser(); $user = $us->username;
// Mi collego al server LDAP $con=ldap_connect($server); ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);
// Query da eseguire $findWhat = array ("sambapwdmustchange"); $findWhere = $dn; $findFilter = "(uid=$user)";
// Estraggo i risultati della query $sr = ldap_search($con,$dn,$findFilter,$findWhat); $records = ldap_get_entries($con, $sr);
// Genero il timestamp attuale $timestamp = time(); // Timestamp attuale
if ($records[0][sambapwdmustchange][0] >= $timestamp){ Header("Location: https://www.porkyhttp.no-ip.info/index.php/comunicazioni"); }
else { Header("Location: https://ldap.porkyhttp.no-ip.info/change_password.php"); }
?>
|