BOnjour...
J'ai besoin de regrouper plusieurs entrées d'un annuaire (l'équivalent d'une association SQL qui servirait à affecter des groupes à des utilisateurs) pour les mettre ensuite dans une seule entrée. Pour ce faire, je voulais utiliser des tables de hashage (pour référencer les affectactions par utilisateur) qui contiendrait des références vers les tableaux (ou éventuellement des tables de hashage aussi) qui contiendraient les identifiants de groupes.
Voici donc ce que j'ai pondu (j'ai pas fait bcp de PERL dans ma vie)...
j'obtiens des résultats incorrects car je n'arrive pas à obtenir la bonne valeur dans counter ... et je n'arrive pas à comprendre pourquoi ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 $result = $ldap->search( base=>$ATRIB_ROOT, scope=>$SCOPE, filter=>"(cn=*)", attrs=>['*']); $nbAffectations = $result->count; print "Entrées : " . $nbAffectations . "\n"; @affectations = $result->entries; @ref = (); $i = 0; foreach $affectation (@affectations) { $dnUser = $affectation->get_value("dnUser"); $dnGroupe = $affectation->get_value("dnGroupe"); if (exists $attribsHash{$dnUser}) { print "Le user est déjà connu : $dnUser\n"; $ref[$i] = $attribsHash{ $dnUser }; @userGroupes = @{$ref}; $counter = @userGroupes; print "Le user a déjà $counter groupes attribués\n"; } else { @userGroupes = (); print "Le user n'est pas encore connu : $dnUser\n"; $counter = 0; } push( @userGroupes, $dnGroupe ); $ref[$i] = \@userGroupes; print "@userGroupes\n"; $attribsHash{$dnUser} = $ref[$i]; $i++; }
Merci d'avance pour vos idées, liens, conseils, ...
Partager