10-04-2016 10:35 AM
Hola a todos,
Estoy teniendo problemas a la hora de sincronizar los grupos y usuarios con LDAP, utilizamos Alfresco 4.2.f.
Cuando reiniciamos alfresco el log nos muestra lo siguiente. Parece que sincroniza pero no me está agregando ningún grupo ni usuario.
Synchronizing users and groups with user registry 'ldap1'
14:27:19,256 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Retrieving all groups from user registry 'ldap1'
14:27:19,272 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Synchronization,Category=directory,id1=ldap1,id2=1 Group Analysis: Commencing batch of 0 entries
14:27:19,273 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Synchronization,Category=directory,id1=ldap1,id2=1 Group Analysis: Completed batch of 0 entries
14:27:19,275 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Retrieving all users from user registry 'ldap1'
14:27:19,278 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Synchronization,Category=directory,id1=ldap1,id2=6 User Creation and Association: Commencing batch of 0 entries
14:27:19,278 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Synchronization,Category=directory,id1=ldap1,id2=6 User Creation and Association: Completed batch of 0 entries
14:27:19,281 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Finished synchronizing users and groups with user registry 'ldap1'
14:27:19,281 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] 0 user(s) and 0 group(s) processed
14:27:19,359 INFO [org.alfresco.repo.management.subsystems.ChildApplicationContextFactory] Startup of 'Synchronization' subsystem, ID: [Synchronization, default] complete
Lo primero que hago es crear el archivo de configuración en la siguiente ruta.
tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap/ldap1/ldap-authentication.properties
### LDAP_1 Config ###
ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=cn\=%s,ou\=people,dc\=alfresco,dc\=veritas,dc\=sm
ldap.authentication.java.naming.provider.url=ldap://64.664.65.644:389
ldap.authentication.defaultAdministratorUserNames=Administrator,alfresco,admin
ldap.synchronization.java.naming.security.principal=cn=admin,dc=alfresco,dc=veritas,dc=sm
ldap.synchronization.java.naming.security.credentials=admin
ldap.synchronization.groupSearchBase=cn=CIF_C79999999,ou=groups,dc=alfresco,dc=veritas,dc=sm
ldap.synchronization.userSearchBase=cn=CIF_C79999999,ou=groups,dc=alfresco,dc=veritas,dc=sm
Y indicamos en el archivo alfresco-global.properties el archivo creado anteriormente.
### LDAP Config ###
authentication.chain=ldap1:ldap,alfrescoNtlm1:alfrescoNtlm
¿Alguna idea de que se nos puede estar pasando?
Muchas gracias!!
10-04-2016 11:19 AM
Creo que no puedes incluir un CN en los "searchBase".
Deberías crear una "ou" intermedia que se llame, por ejemplo, "Alfresco" y colgar debajo los grupos (CN) que quieras que se sincronicen.
10-04-2016 11:01 AM
No encuentra usuarios en el "userSearchBase" que le indicas. Supongo que querrás buscar en algo así como:
ou=groups,dc=alfresco,dc=veritas,dc=sm
Lo mismo pasa para los grupos.
10-04-2016 11:15 AM
Gracias por tu rápida respuesta Angel.
Así es, si le pasamos tal y como indicas si que nos sincroniza todos los grupos que tenemos. Pero nuestra intención era que solo se sincronizase un solo grupo que nosotros le indicamos.
ldap.synchronization.userSearchBase=cn=CIF_00000000t,ou=groups,dc=alfresco,dc=veritas,dc=sm
¿Es posible hacer esto o algo parecido, o se tienen que sincronizar todos?
Gracias.
10-04-2016 11:19 AM
Creo que no puedes incluir un CN en los "searchBase".
Deberías crear una "ou" intermedia que se llame, por ejemplo, "Alfresco" y colgar debajo los grupos (CN) que quieras que se sincronicen.
10-04-2016 11:22 AM
Ok, intentaremos modificarlo entonces.
Muchas gracias!
10-14-2016 07:35 AM
Aprovecho para hacer otra pregunta relacionada con LDAP.
Ya he conseguido sincronizar los usuarios y grupos, pero solo la primera vez, ya que si ahora borro un grupo o usuario y vuelvo a reiniciar la máquina no vuelve a sincronizar. ¿Existe algún parámetro para indicar que sincronice todo cada vez que se reinicie la máquina?
10-14-2016 07:45 AM
Prueba a incluir esta propiedad (Synchronization configuration properties | Alfresco Documentation)
Aplica a 4.2, pero por defecto está a "true", así que no debería ser necesario establecerla.
10-17-2016 04:47 AM
Gracias Angel, pero me sigue ocurriendo lo mismo, la configuración la tengo como muestro a continuación
### AUTHENTICATION ###
ldap.authentication.active=true
ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=cn\=%s,ou\=people,dc\=alfresco,dc\=veritas,dc\=sm
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://64.664.65.666:389
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.java.naming.security.principal=cn=admin,dc=alfresco,dc=veritas,dc=sm
ldap.authentication.java.naming.security.credentials=contraseña
ldap.authentication.escapeCommasInBind=false
ldap.authentication.escapeCommasInUid=false
ldap.authentication.defaultAdministratorUserNames=Administrator,alfresco,admin
### SYNCHRONIZATION ###
ldap.synchronization.java.naming.security.principal=cn=admin,dc=alfresco,dc=veritas,dc=sm
ldap.synchronization.java.naming.security.credentials=contraseña
ldap.synchronization.userSearchBase=dc=alfresco,dc=veritas,dc=sm
ldap.synchronization.active=true
ldap.synchronization.personQuery=(objectclass\=inetOrgPerson)
ldap.synchronization.personSearchBase=dc\=alfresco,dc\=veritas,dc\=sm
ldap.synchronization.userIdAttributeName=cn
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail
ldap.synchronization.userOrganizationalIdAttributeName=o
ldap.synchronization.userOrganizationalAttributeName=ou
ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider
ldap.synchronization.groupQuery=(objectclass\=groupOfUniqueNames)
ldap.synchronization.groupSearchBase=dc\=alfresco,dc\=veritas,dc\=sm
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupFirstNameAttributeName=cn
ldap.synchronization.groupType=groupOfUniqueNames
ldap.synchronization.personType=inetOrgPerson
ldap.synchronization.groupMemberAttributeName=uniqueMember
synchronization.synchronizeChangesOnly=false
synchronization.syncOnStartup=true
synchronization.syncWhenMissingPeopleLogIn=true
synchronization.autoCreatePeopleOnLogin=false
10-17-2016 05:08 AM
Tiene buena pinta.
¿Has lanzado Alfresco con DEBUG de LDAP para verificar qué está haciendo? Al menos debería indicar que está inicializando el subsistema LDAP e incluir algunas líneas con las propiedades. Quizá eso pueda darte alguna pista.
10-17-2016 05:18 AM
Buenas:
Para ver que es lo que ocurre te recomiendo activar los logs de los subsistemas de sincronizacion LDAP/AD
Pon esto en $ALF_HOME/shared/classes/alfresco/extension/custom-log4j.properties (y reinicia el servicio de Alfresco)
log4j.logger.org.alfresco.repo.security.sync=debug
Con esto deberías obtener más información en los logs de Alfresco sobre la sincronización y además deberías ver recrearse todos tus usuarios puesto que tienes sincronizaciones completas y no diferenciales (synchronization.synchronizeChangesOnly=false)
Por otro lado, cuando borras un usuario debería borrarse de Alfresco si tienes: synchronization.allowDeletions=true (por defecto)
De tu configuración, echo en falta las variables ldap.synchronization.personDifferentialQuery y ldap.synchronization.groupDifferentialQuery en cualquier caso. Si no las tienes en tu archivo de configuración y vas a hacer sincronizaciones completas ponlas iguales a las de personQuery y groupQuery.
Saludos.
--C.
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.