mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-18 00:09:06 +01:00
- LSldapObject : Modification de la méthode searchObject() pour prendre eventuellement
un troisième paramètre : un LSformat du filtre de recherche composé avec la valeur du première argument. - LSsession : Ajout de la possibilité de définir le filtre de recherche LDAP de l'objet utilisateur d'une personne se connectant. (authObjectFilter) - config.inc.php : Ajout de la possibilité de s'authentifier avec son mail.
This commit is contained in:
parent
76a4f59558
commit
b52181a769
3 changed files with 15 additions and 6 deletions
|
@ -72,6 +72,7 @@ $GLOBALS['LSconfig'] = array(
|
|||
'cacheLSprofiles' => true,
|
||||
'cacheSearch' => true,
|
||||
'authObjectType' => 'LSeepeople',
|
||||
'authObjectFilter' => '(|(uid=%{user})(mail=%{user}))',
|
||||
'authobject_pwdattr' => 'userPassword',
|
||||
'LSaccess' => array(
|
||||
'LSeepeople',
|
||||
|
|
|
@ -929,17 +929,25 @@ class LSldapObject {
|
|||
|
||||
|
||||
/**
|
||||
* Recherche un objet à partir de la valeur exact de son RDN
|
||||
* Recherche un objet à partir de la valeur exact de son RDN ou d'un filtre de
|
||||
* recherche LDAP sous la forme d'un LSformat qui sera construit avec la valeur
|
||||
* de $name.
|
||||
*
|
||||
* @author Benjamin Renard <brenard@easter-eggs.com>
|
||||
*
|
||||
* @param[in] $name string Valeur de son RDN
|
||||
* @param[in] $name string Valeur de son RDN ou de la valeur pour composer le filtre
|
||||
* @param[in] $basedn string Le DN de base de la recherche
|
||||
* @param[in] $filter string Le filtre de recherche de l'objet
|
||||
*
|
||||
* @retval array Tableau d'objets correspondant au resultat de la recherche
|
||||
*/
|
||||
function searchObject($name,$basedn=NULL) {
|
||||
$filter = $this -> config['rdn'].'='.$name;
|
||||
function searchObject($name,$basedn=NULL,$filter=NULL) {
|
||||
if (!$filter) {
|
||||
$filter = $this -> config['rdn'].'='.$name;
|
||||
}
|
||||
else {
|
||||
$filter = getFData($filter,$name);
|
||||
}
|
||||
return $this -> listObjects($filter,$basedn);
|
||||
}
|
||||
|
||||
|
|
|
@ -373,7 +373,7 @@ class LSsession {
|
|||
}
|
||||
}
|
||||
if ($find) {
|
||||
$result = $authobject -> searchObject($_POST['LSsession_user'],self :: $topDn);
|
||||
$result = $authobject -> searchObject($_POST['LSsession_user'],self :: $topDn,self :: $ldapServer['authObjectFilter']);
|
||||
$nbresult=count($result);
|
||||
}
|
||||
if ($nbresult==0) {
|
||||
|
@ -525,7 +525,7 @@ class LSsession {
|
|||
// Authentification réussi
|
||||
self :: $LSuserObject = $result[0];
|
||||
self :: $dn = $result[0]->getValue('dn');
|
||||
self :: $rdn = $_POST['LSsession_user'];
|
||||
self :: $rdn = $result[0]->getValue('rdn');
|
||||
self :: loadLSprofiles();
|
||||
self :: loadLSaccess();
|
||||
$GLOBALS['Smarty'] -> assign('LSsession_username',self :: getLSuserObject() -> getDisplayName());
|
||||
|
|
Loading…
Reference in a new issue