[Corrigé 3.1.9] LDAP plusieurs Emplacement des utilisateurs

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
Répondre
olikamm
Gsup LEVEL 1
Messages : 12
Enregistré le : lun. 13 juin 2016 17:57

Bonjour,

Vu la configuration de mon AD j'ai des utilisateurs dans plusieurs OU mais je souhaite selectionner les OU que je souhaite importer, par exemple :

OU=Utilisateurs,OU=SUISSE
OU=Utilisateurs,OU=FRANCE

Pour ce faire j'aimerai mettre a la suite les <> emplacement séparé par des ;

J'ai fait la modification suivante dans le fichier "ldap.php" pour que cela soit pris en compte :

Original :

Code : Tout sélectionner

		if(($_GET['action']=='simul') || ($_GET['action']=='run')) 
		{
				//change query filter for OpenLDAP or AD
				if ($rparameters['ldap_type']==0) {$filter="(&(objectClass=user)(objectCategory=person)(cn=*))";} else {$filter="(uid=*)";}		
				$query = @ldap_search($ldap, $ldap_url, $filter);
				//put all data to $data
				$data = @ldap_get_entries($ldap, $query);
				//count LDAP number of users
				$cnt_ldap = @ldap_count_entries($ldap, $query);
				//count GESTSUP number of users
				$q=mysql_query("SELECT count(*) FROM tusers WHERE disable='0'"); 
				$cnt_gestsup=mysql_fetch_array($q);
Modifié :

Code : Tout sélectionner

if(($_GET['action']=='simul') || ($_GET['action']=='run')) 
		{			
				$list_dn = preg_split("/;/",$rparameters[ldap_url]);
				$data = array();
				
				foreach ($list_dn as $value) {
					$ldap_url="$value$dcgen";
					
					//change query filter for OpenLDAP or AD
					if ($rparameters['ldap_type']==0) {$filter="(&(objectClass=user)(objectCategory=person)(cn=*))";} else {$filter="(uid=*)";}		
					$query = @ldap_search($ldap, $ldap_url, $filter);
					
					//put all data to $data
					$data_temp = @ldap_get_entries($ldap, $query);
					$data = array_merge($data, $data_temp);
					
					//count LDAP number of users
					$cnt_ldap += @ldap_count_entries($ldap, $query);
				}
				
				//count GESTSUP number of users
				$q=mysql_query("SELECT count(*) FROM tusers WHERE disable='0'"); 
				$cnt_gestsup=mysql_fetch_array($q);
Avatar du membre
Flox
Administrateur du site
Messages : 9345
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

merci pour votre apport nous avons intégrés ces modifications dans la version 3.1.9.

Cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.11 | https://doc.gestsup.fr/
Répondre