Project

General

Profile

Actions

Bug #3924

closed

Problème de synchronisation des sous-groupes de l'Active Directory

Added by Christophe Künzi about 9 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
High
Category:
Administration
Start date:
11/12/2012
Due date:
% Done:

100%

Estimated time:
Navigateur:
Firefox 10
Votre version de Silverpeas:
5.10.2
Système d'exploitation:
Votre base de données:
PostgreSQL
Livraison en TEST:
Livraison en PROD:

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.


Files

traces.7z (61.1 KB) traces.7z Christophe Künzi, 11/15/2012 11:13 AM
domainOpenDJ.properties (5.35 KB) domainOpenDJ.properties Nicolas Dupont, 11/29/2012 03:48 PM
export.ldif (1.86 KB) export.ldif Nicolas Dupont, 11/29/2012 03:48 PM
Actions #1

Updated by Nicolas Dupont about 9 years ago

  • Project changed from 102 to Silverpeas Core
  • Subject changed from Problème de synchronisation de l'Active Directory to Problème de synchronisation des sous-groupes de l'Active Directory
  • Category set to Administration
  • Assignee deleted (Nicolas Dupont)
Actions #2

Updated by Nicolas Eysseric about 9 years ago

  • Status changed from New to 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 ?

Actions #3

Updated by Christophe Künzi about 9 years ago

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

Actions #4

Updated by Nicolas Eysseric about 9 years ago

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.

Actions #5

Updated by Christophe Künzi about 9 years ago

Dans notre fichier dans le dossier authentication :

autServer0.type=com.stratelia.silverpeas.authentication.AuthenticationLDAP

Actions #6

Updated by Nicolas Eysseric about 9 years ago

Le paramètre groups.Type se situe dans le fichier properties/com/stratelia/silverpeas/domains/domainXXXX.properties.

Actions #7

Updated by Christophe Künzi about 9 years ago

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

Actions #8

Updated by Nicolas Eysseric about 9 years ago

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 ?

Actions #9

Updated by Christophe Künzi about 9 years ago

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é.

Actions #10

Updated by Nicolas Dupont about 9 years ago

  • Assignee set to Nicolas Dupont

Analyse en cours

Actions #11

Updated by Nicolas Dupont about 9 years ago

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

Actions #12

Updated by Nicolas Eysseric almost 9 years ago

  • Target version set to 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...

Actions #13

Updated by Nicolas Eysseric almost 9 years ago

  • Status changed from Qualified to In progress...
  • Assignee set to Nicolas Eysseric
Actions #14

Updated by Nicolas Eysseric almost 9 years ago

  • Status changed from In progress... to Closed
  • % Done changed from 0 to 100

Les membres d'un groupe de type groupe sont désormais correctement traités.

Actions #15

Updated by Christophe Künzi almost 9 years ago

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.

Actions #16

Updated by David Lesimple almost 9 years ago

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.

Actions #17

Updated by Christophe Künzi almost 9 years ago

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 ?

Actions #18

Updated by David Lesimple almost 9 years ago

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).

Actions #19

Updated by Christophe Künzi almost 9 years ago

Ah d'accord, merci pour la précision.

Actions

Also available in: Atom PDF