cancel
Showing results for 
Search instead for 
Did you mean: 

Integrar la versión actual de Alfresco con LDAP

sharkpop
Champ in-the-making
Champ in-the-making

Buenas a tod@s,

Estoy intentando integrar la base de datos LDAP que tengo montada en mi máquina con la plataforma Alfresco. He buscado información pero son de versiones antiguas de Alfresco y algunas de las rutas que indican ya no deben existir. Si alguien sabe como integrar Alfresco con LDAP y puede explicármelo se lo agradecería mucho.

Muchísimas gracias de antemano.

Un cordial saludo.

15 REPLIES 15

cristinamr
World-Class Innovator
World-Class Innovator

Buenas.

Te dejo los enlaces a la documentación oficial (están bastante bien):

No obstante, si encuentras problemas a la hora de configurarlo coméntanos y te echamos una mano 😉

¡Un saludo!

--
VenziaIT: helping companies since 2005! Our ECM products: AQuA & Seidoc

sharkpop
Champ in-the-making
Champ in-the-making

Buenas tardes,

Ante todo agradecerte la ayuda prestada. Me he basado en el ejemplo que me pasaste y aun así no consigo que funcione. Al tener la versión 5 no sirve lo del vídeo pero sí lo de la explicación.  En alfresco-global.properties   he añadido lo siguiente:

authentication.chain=alfinst:alfrescoNtlm,ldap1:ldap-ad

ntlm.authentication.sso.enabled=false

ldap.authentication.allowGuestLogin=false

ldap.authentication.userNameFormat=%s@empresa.local

ldap.authentication.java.naming.provider.url=ldap://192.168.0.200:389

ldap.authentication.defaultAdministratorUserNames=admin

ldap.synchronization.java.naming.security.principal=admin@empresa.local

ldap.synchronization.java.naming.security.credentials=123

ldap.synchronization.groupSearchBase=ou=grupos,dc=empresa,dc=local

ldap.synchronization.userSearchBase=ou=usuarios,dc=empresa,dc=local

Si encuentra algún problema o donde está el fallo se lo agradecería muchísimo.

Un cordial saludo.

Prueba a subir el nivel de log de LDAP

Setting log levels | Alfresco Documentation 

Prueba añadiendo o modificando estas dos líneas:

log4j.logger.org.alfresco.repo.security.sync=info
log4j.logger.org.alfresco.repo.security.person=info

También tienes algo más de información aquí:  

Hyland Developer Evangelist

sharkpop
Champ in-the-making
Champ in-the-making

Buenas tardes,

No consigo encontrar log4j.properties. Soy nuevo en esto, lo siento mucho.

Lo más recomendable es incluirlo en $TOMCAT_HOME/shared/classes/alfresco/extension/custom-log4j.properties

Puedes crearlo si no existe.

También puedes añadir las líneas en $TOMCAT_HOME/webapps/alfresco/WEB-INF/classes/log4j.properties

Hyland Developer Evangelist

sharkpop
Champ in-the-making
Champ in-the-making

Buenas noches, 

He modificado ambos archivos (el primero no existía pero lo he creado) y sigue igual sin funcionar. ¿La configuración que he añadido de ldap en alfresco-global.properties es correcta?

Disculpen las molestias.

Un saludo.

La configuración solo sirve para que detalle las operaciones en el log... Qué errores salen en catalina.out o alfresco.log?

Hyland Developer Evangelist

sharkpop
Champ in-the-making
Champ in-the-making

Buenas tardes,

 

Me sale el siguiente error:

 

[security.sync.ChainingUserRegistrySynchronizer] [localhost-startStop-1] Synchronizing users and groups with user registry 'ldap1'
2017-03-02 23:53:46,850 INFO [security.sync.ChainingUserRegistrySynchronizer] [localhost-startStop-1] Retrieving all groups from user registry 'ldap1'
2017-03-02 23:53:46,915 ERROR [security.sync.ChainingUserRegistrySynchronizer] [localhost-startStop-1] Synchronization aborted due to error
org.alfresco.repo.security.authentication.AuthenticationException: 02020016 Fallo de conexión a ldap://192.168.0.200:389. Razón javax.naming.InvalidNameException, [LDAP: error code 34 - invalid DN]
at org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl.buildInitialDirContext(LDAPInitialDirContextFactoryImpl.java:284)

 

Pero supuestamente la configuración que le paso es la correcta: 

 

Configuración:

authentication.chain=alfinst:alfrescoNtlm,ldap1:ldap-ad

 

ntlm.authentication.sso.enabled=false

 

ldap.authentication.allowGuestLogin=false

ldap.authentication.userNameFormat=%s@empresa.local

ldap.authentication.java.naming.provider.url=ldap://192.168.0.200:389

ldap.authentication.defaultAdministratorUserNames=admin

ldap.synchronization.java.naming.security.principal=admin@empresa.local

ldap.synchronization.java.naming.security.credentials=123

ldap.synchronization.groupSearchBase=ou=grupos,dc=empresa,dc=local

 

ldap.synchronization.userSearchBase=ou=usuarios,dc=empresa,dc=local

Estructura LDAP:

¿Qué puede estar ocurriendo?

Muchas gracias de antemano.

sharkpop
Champ in-the-making
Champ in-the-making

Buenas tardes,

Ya he conseguido integrar LDAP y Alfresco, tuve que realizar cambios en la configuración y ya funciona. El problema que tengo es que solamente los grupos de LDAP "groupOfUniqueNames" son los que se integran correctamente. A mi me gustaría que los posixGroup también funcionasen, pero en Alfresco solo sale su nombre sin ningún usuario.

¿De qué manera podría importarse correctamente los posixGroup con sus usuarios?

MI configuración:

### Use Alfresco authentication for admin accounts and LDAP for users ###
authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap1:ldap
## When TESTING, set synchronizeChangesOnly to false
## - this will give FULL synchronization for scheduled synchs
synchronization.synchronizeChangesOnly=false
## Set up regular synchronization with the LDAP server ##
synchronization.syncWhenMissingPeopleLogIn=true
synchronization.syncOnStartup=true
# When TESTING, synchronise every 5 minutes
# secs min hour dom mon dow
synchronization.import.cron=0 */5 * * * ?
# authentication.chain=ldap1:ldap,alfrescoNtlm1:alfrescoNtlm
ntlm.authentication.sso.enabled=false
ldap.authentication.active=true
ldap.authentication.allowGuestLogin=false
ldap.authentication.java.naming.security.authentication=simple

ldap.synchronization.java.naming.security.principal=cn=admin,dc=empresa,dc=local
ldap.synchronization.java.naming.security.credentials=123
ldap.synchronization.groupQuery=(objectclass\=groupOfUniqueNames) **AQUI IRIA posixGroup
ldap.synchronization.personQuery=(objectclass\=inetOrgPerson)
ldap.synchronization.groupSearchBase=ou=grupos,dc=empresa,dc=local
ldap.synchronization.userSearchBase=ou=usuarios,dc=empresa,dc=local
#ldap.synchronization.groupType=groupOfUniqueNames   ** AQUI IRIA posixGroup
ldap.synchronization.groupMemberAttributeName=uniqueMember ** AQUI IRIA memberUid pero no funciona
ldap.synchronization.enableProgressEstimation=true
# The attribute on group objects that defines the DN for its members
#ldap.synchronization.userFirstNameAttributeName=givenName
#ldap.synchronization.userLastNAmeAttributeName=sn
# The attribute name on people objects to use as the uid in Alfresco
ldap.synchronization.userIdAttributeName=uid

# The attribute on person objects in LDAP to map to the first name property in A$
ldap.synchronization.userFirstNameAttributeName=givenName
# The attribute on person objects in LDAP to map to the last name property in Al$
ldap.synchronization.userLastNameAttributeName=sn
# The attribute on person objects in LDAP to map to the email property in Alfres$
ldap.synchronization.userEmailAttributeName=mail
# The attribute on group objects to map to the authority name property in Alfres$
ldap.synchronization.groupIdAttributeName=cn
# The attribute on group objects to map to the authority display name property i$
ldap.synchronization.groupDisplayNameAttributeName=cn