Alfresco Community 4d : synchronisation Active Directory

cancel
Showing results for 
Search instead for 
Did you mean: 
legaulois
Active Member

Alfresco Community 4d : synchronisation Active Directory

Bonsoir,

continuant la mise en test de ma nouvelle version de plateforme Alfresco Community 4.0d sous Windows 2008 r2, je fais appel à nouveau à vous.

Je souhaiterais effectuer une synchronisation Active Directory… jusque là pas de problème…

Seulement voilà, la plateforme Alfresco n'est pas destinée à toute la société et il est dès lors inutile de synchroniser tout l'AD.

Seulement, les utilisateurs que je dois synchroniser se trouvent dans différentes OU.

Exemple :

dc=tartenpion,dc=be
OU=Personel
|==>OU=Direction
             |=>User1
             |=>User2
|==>OU=Techniciens
             |=>User3
             |=>User4

Par exemple dans mon cas, je dois prendre le user1 + user3 + user4

S'ils sont dans la même OU pas de problème je fais pointer mon userSearchBase sur cette OU.

Par contre vu qu'ils sont dans des OU différentes, je sais pas trop ce qu'il est possible de faire.

Il y a t'il des possibilités de faire une synchronisation sur base des membres d'un groupe ou d'un group de distribution ?

Merci pour les infos Smiley Wink
3 Replies
legaulois
Active Member

Re: Alfresco Community 4d : synchronisation Active Directory

Personne n'a d'idée sur la faisabilité de la chose ?

J'ai posté sur les forums Anglais sans réponse et nous y sommes d'ailleurs plusieurs à chercher à faire la même chose.

Merci pour votre aide Smiley Wink
rguinot
Customer

Re: Alfresco Community 4d : synchronisation Active Directory

Ca me semble possible.

Plusieurs éléments de réponse :
- Je ne connais pas bien AD, mais dans OpenLDAP il y a des "overlays" qui permettent d'ajouter des champs dynamiques sur un noeud (par exemple les groupes dont un utilisateur donné fait partie). A condition de pouvoir exprimer par une requête LDAP les utilisateurs d'une part et groupes d'autre part que vous voulez récupérer (en prenant soin de prendre des groupes et utilisateurs qui correspondent), ça devrait être bon.

- Ne vous souciez pas trop du fait que vous utilisateurs sont dans plusieurs "OU", vous avez la possibilité en spécifiant un userNameFormat vide de faire du search & bind (ie retrouver le DN complet d'un utilisateur automatiquement, avant tentative de login, via uniquement son UID par exemple).
legaulois
Active Member

Re: Alfresco Community 4d : synchronisation Active Directory

Bonjour,

voilà j'ai finalement trouvé une solution qui me convenait pour ma question citée plus haut.

Je livre ici la solution pour effectuer une synchronisation d'utilisateurs sur base d'un groupe de sécurité. Je dois peaufiner la partie synchronisation de groupe mais ce qu'il me fallait est réalisé.

Voici donc :

#
# Authentification LDAP
#
synchronization.import.cron=0 0 */2 * * ?
ldap.authentication.active=true
ldap.authentication.userNameFormat=%s@julien.local
ldap.authentication.java.naming.provider.url=ldap://srv-dom.julien.local:389
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.defaultAdministratorUserNames=Administrator

#ldap.synchonization.autoCreatePeopleOnLogin=false
ldap.synchronization.active=true
ldap.synchronization.java.naming.security.principal=bindalfresco@julien.local
ldap.synchronization.java.naming.security.credentials=320.Karton

#ldap.synchronization.queryBatchSize=1000

ldap.synchronization.groupQuery=(&(objectclass\=group)(memberOf\=CN\=GGISG-Alfresco,OU\=Sécurité,OU\=Groupes,DC\=julien,DC\=local))
ldap.synchronization.groupDifferentialQuery=(&(objectclass\=group)(memberOf\=CN\=GGISG-Alfresco,OU\=Sécurité,OU\=Groupes,DC\=julien,DC\=local)(!(modifyTimestamp<\={0})))
ldap.synchronization.personQuery=(&(objectclass=user)(memberOf\=CN\=GGISG-Alfresco,OU\=Sécurité,OU\=Groupes,DC\=julien,DC\=local)(userAccountControl\:1.2.840.113556.1.4.803\:\=512))
ldap.synchronization.personDifferentialQuery=(&(objectclass\=user)(memberOf\=CN\=GGISG-Alfresco,OU\=Sécurité,OU\=Groupes,DC\=julien,DC\=local)(userAccountControl\:1.2.840.113556.1.4.803\:\=512)(!(modifyTimestamp<\={0})))
ldap.synchronization.groupSearchBase=DC\=julien,DC\=local
ldap.synchronization.userSearchBase=DC\=julien,DC\=local

ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
ldap.synchronization.timestampFormat=yyyyMMddHHmmss'.0Z'

ldap.synchronization.userIdAttributeName=sAMAccountName
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupType=group
ldap.synchronization.personType=user
ldap.synchronization.groupMemberAttributeName=member