Page 1 sur 1

Synchro LDAP suite migration 2.9 vers 3.0.6

Posté : mer. 5 mars 2014 17:34
par yannickq
Bonjour,

Je rencontre un soucis depuis la migration de 2.9.2 en 3.0.6, L'installation de la v3.0.0 et des différents patch c'est très bien déroulée.

Lors de la tentative de synchro LDAP, la simulation m'annonce désactiver plusieurs utilisateurs (environ 20 sur 150),Raison: Utilisateur non présent dans l'annuaire LDAP.)

Après quelques seconde de vérification, j'ai constaté que ce sont tous les utilisateurs ayant un login avec accent ou apostrophe (éèïî' ... oui je sais c'est pas top les accent dans les logins, choix historique difficile de changer ;p), auriez-vous une piste de recherche, il me semblait avoir eu le même genre de problème lors du passage de la 2.8 à la 2.9 mais j'imagine que le soucis provient d'une histoire d'encodage de caractères dans la table tusers ou la lecture du ldap.php, mais ce n'est pas trop mon truc les encodages ;)


Si vous avez une piste, merci !

Re: Synchro LDAP suite migration 2.9 vers 3.0.6

Posté : ven. 7 mars 2014 11:56
par yannickq
je viens de trouver l'anomalie : dans le fichier ldap.php ligne 362 (./core/ldap.php)

Code : Tout sélectionner

 if ($rparameters['ldap_type']==0) $samaccountname=$data[$i]['samaccountname'][0];  else $samaccountname=$data[$i]['uid'][0]; 
à remplacer par :

Code : Tout sélectionner

if ($rparameters['ldap_type']==0) $samaccountname=utf8_encode($data[$i]['samaccountname'][0]);  else $samaccountname=utf8_encode($data[$i]['uid'][0]);
l'encodage utf-8 était fait à plusieurs endroits sauf à celui-ci

Re: Synchro LDAP suite migration 2.9 vers 3.0.6

Posté : ven. 7 mars 2014 18:54
par Flox
Bonjour,

pouvez vous vérifier que votre fichier ./core/ldap.php et en version 3.0.6 ?

Re: Synchro LDAP suite migration 2.9 vers 3.0.6

Posté : lun. 10 mars 2014 09:20
par yannickq
Contrairement au 2 autres sujets ou je signale des anomalies alors que ma migration semble s'être mal passée ( fichiers en 3.0.0 ... ><)

ce fichier est bien avec l'entête commentée 3.0.6 :

################################################################################
# @Name : /core/ldap.php
# @Desc : page to synchronize users from LDAP to GestSup
# @call : /admin/user.php
# @Autor : Flox
# @Create : 15/10/2012
# @Update : 28/01/2014
# @Version : 3.0.6
################################################################################

Si vous me le demandez, c'est qu'à priori cette ligne avait déjà été corrigée ?

Re: Synchro LDAP suite migration 2.9 vers 3.0.6

Posté : mer. 12 mars 2014 19:15
par Flox
normalement c'est la ligne 117 qui gère cela dans la version 3.0.6:

Code : Tout sélectionner

if ($rparameters['ldap_type']==0) $samaccountname=utf8_encode($data[$i]['samaccountname'][0]);  else $samaccountname=utf8_encode($data[$i]['uid'][0]);
ensuite les lignes suivante se base sur cette conversion, ou alors il y a un autre problème...

pouvez vous nous donner vos versions serveur.

Re: Synchro LDAP suite migration 2.9 vers 3.0.6

Posté : jeu. 13 mars 2014 16:34
par yannickq
Pour ce qui est de mes serveurs, j'ai testé sur un AD windows 2003 R2 SP2 et AD windows 2008 R2,
la valeur renvoyée par

Code : Tout sélectionner

$rparameters['ldap_type']
est 0 .


Je n'ai pas passé des heures à chercher je vous avoue, mais toujours est-il qu'en copiant la ligne 117 à la ligne 362 le souci est résolu :)