Bug #3924
ferméProblème de synchronisation des sous-groupes de l'Active Directory
100%
Description
En version 5.10.2 lorsqu'on applique une synchronisation du domaine (serveur LDAP),
on a pas la synchronisation complète.
On a pu constater que lorsque dans un groupe, si il possède des sous-groupes :
Les utilisateurs du sous-groupe ne sont pas montés dans le groupe principal.
Exemple :
Groupe X (constitué):
- Utilisateur A
- Utilisateur B
- Groupe Y
Groupe Y (constitué) :
- Utilisateur C
- Utilisateur D
Groupe X Après synchronisation du domaine :
Groupe X (constitué):
- Utilisateur A
- Utilisateur B
Alors que les utilisateurs C et D devraient également s'y trouver.
Par ailleurs si on tente de synchroniser uniquement le groupe. Le problème subsiste, il n'est plus possible
donc d'utiliser la plateforme, puisque des droits sont perdus et ne peuvent pas être remontés manuellement.
Fichiers
Mis à jour par Nicolas Dupont il y a environ 12 ans
- Projet changé de 102 à Silverpeas Core
- Sujet changé de Problème de synchronisation de l'Active Directory à Problème de synchronisation des sous-groupes de l'Active Directory
- Catégorie mis à Administration
- Assigné à
Nicolas Dupontsupprimé
Mis à jour par Nicolas Eysseric il y a environ 12 ans
- Statut changé de New à Feedback
Les utilisateurs C et D sont-ils créés (indépendamment de leur appartenance au groupe Y) ?
En d'autres termes, apparaissent-ils lorsque vous vous trouvez à la racine du domaine LDAP ?
Mis à jour par Anonyme il y a environ 12 ans
Les utilisateurs C et D sont créés et peuvent se loguer.
Ils n'ont juste pas accès aux données auxquelles ils devraient avoir accès à travers leurs appartenance au groupe X
Mis à jour par Nicolas Eysseric il y a environ 12 ans
OK.
Quelle classe Java utilisez-vous pour la récupération des groupes ?
Cette classe est spécifiée dans le properties de votre domaine, paramètre groups.Type.
Mis à jour par Anonyme il y a environ 12 ans
Dans notre fichier dans le dossier authentication :
autServer0.type=com.stratelia.silverpeas.authentication.AuthenticationLDAP
Mis à jour par Nicolas Eysseric il y a environ 12 ans
Le paramètre groups.Type se situe dans le fichier properties/com/stratelia/silverpeas/domains/domainXXXX.properties
.
Mis à jour par Anonyme il y a environ 12 ans
Bonjour
Le paramètre groups.Type du fichier:
d:\silverpeas\properties\com\stratelia\silverpeas\domains\dsr.properties
est le suivant:
groups.Type=com.stratelia.silverpeas.domains.ldapdriver.LDAPGroupAllRoot
Mis à jour par Nicolas Eysseric il y a environ 12 ans
Nous ne reproduisons pas ce comportement en 5.10.2 avec le même paramétrage.
Les groupes X et Y sont créés dans Silverpeas et sont bien constitués des bons utilisateurs.
Dans votre cas, le groupe Y est-il créé dans Silverpeas ?
Mis à jour par Anonyme il y a environ 12 ans
Bonjour,
Non. Il s'agit bien de groupes Active Directory existant depuis déjà un temps certains. Il ne s'agit pas de nouveaux groupes créés pour l'occasion.
Avant le passage à la version 5.10.2 ces groupes se synchronisaient normalement.
Après le passage à la 5.10.2 les membres d'un groupe "enfant" n'apparaissent plus dans le groupe "parent" si ce dernier est synchronisé.
Nous avons une préprod sur laquelle nous somme en 5.10.2 et sur laquelle le problème est reproductible à volonté.
Il ne s'agit pas de la préprod à laquelle M. Dupont accède.
Je vous mets déjà le fichier de trace de la dernière Synchro de l'AD (que nous avons faite à l'instant sur la préprod)
Si vous devez y avoir accès cela peut s'arranger mais nécessitera quelques configurations ne notre côté.
Mis à jour par Nicolas Dupont il y a presque 12 ans
- Assigné à mis à Nicolas Dupont
Analyse en cours
Mis à jour par Nicolas Dupont il y a presque 12 ans
- Fichier domainOpenDJ.properties domainOpenDJ.properties ajouté
- Fichier export.ldif export.ldif ajouté
- Statut changé de Feedback à Qualified
- Assigné à
Nicolas Dupontsupprimé
Cas reproduit avec OpenDJ avec la configuration jointe (config Silverpeas + LDIF). En fait, pour ce qui concerne les sous-groupes, le moteur de synchronisation (LDAPGroupAllRoot) se base sur la relation père-fils et non sur l'attribut LDAP défini par la propriété groups.MemberField (en général member). Cet attribut est uniquement utilisé pour déterminer les utilisateurs d'un groupe. Il me semble que c'est lié à #3247, livré avec la 5.9.2
Mis à jour par Nicolas Eysseric il y a presque 12 ans
- Version cible mis à Version 5.11.1
L'origine du problème a été identifié.
Il y a en fait un quiproquo sur la notion de sous groupes...
Dans l'exemple fourni, le groupe Y n'est pas un sous groupe du groupe X (au sens LDAP).
En effet, le groupe X est constitué de A, B et des utilisateurs du groupe Y. Ce qui n'est pas la même chose que la notion de sous groupe.
Si l'on supprime le groupe X, le groupe Y n'est pas supprimé. Car ce n'est pas un sous-groupe de X.
Afin d'être certain d'être en phase, pouvez-vous nous transmettre un extrait LDIF contenant deux groupes (dont l'un est membre de l'autre).
Il y a bien cependant un problème qui va être corrigé en v5.11.1...
Mis à jour par Nicolas Eysseric il y a presque 12 ans
- Statut changé de Qualified à In progress...
- Assigné à mis à Nicolas Eysseric
Mis à jour par Nicolas Eysseric il y a presque 12 ans
- Statut changé de In progress... à Closed
- % réalisé changé de 0 à 100
Les membres d'un groupe de type groupe sont désormais correctement traités.
Mis à jour par Anonyme il y a presque 12 ans
Bonjour,
Je voulais juste préciser que j'étais d'accord avec ce qui était écrit. Effectivement, ce n'est pas
la notion de sous-groupe (désolé pour la confusion).
Les membres du groupe X sont A,B et groupe Y. Si on supprime groupe X ça ne supprime effectivement pas Y.
Donc ce problème est résolu en v5.11.1.
Mis à jour par David Lesimple il y a presque 12 ans
Petite précision suite à des tests: cela ne fonctionne que si le Groupe Y est lui-même importé. Dans le cas contraire, ses utilisateurs ne se retrouvent pas dans le Groupe X.
Mis à jour par Anonyme il y a presque 12 ans
Mais la synchronisation globale doit importer TOUT les groupes depuis l'AD de manière automatique.
Pouvez-vous juste me préciser si il faut donc faire 2 Synchro Globales pour avoir une synchro complète ?
La première synchro remonte les groupes et la deuxième assure d'avoir tout les utilisateurs dans les bons groupes ?
Mis à jour par David Lesimple il y a presque 12 ans
non, il n'y a bien qu'un seule synchro. Ma remarque concernait une configuration particulière où on ne remonte que certains groupes (en fonction de filtres).