Integración con Active Directory (recogida de atributos de usuario de Active Directory)

cancel
Showing results for 
Search instead for 
Did you mean: 
arrety
Member II

Integración con Active Directory (recogida de atributos de usuario de Active Directory)

¡Buenas noches!

Estoy realizando una prueba piloto en mi empresa para implementar Alfresco y hasta ahora, todo ha salido bien. El único problema que tengo, es que quiero que los usuarios de Alfresco, se logueen contra Active Directory; esa parte la he conseguido, lo que no he conseguido ha sido que me recoja los atributos del usuario del dominio (nombre, apellidos, email,…)

Estoy utilizando la versión "5.0.d" de Alfresco sobre un Windows Server 2008 R2.

El código que estoy utilizando, y que tengo configurado en "alfresco-global.properties" para la extracción de los atributos es:


# Para que sincronize sólo los cambios
synchronization.synchronizeChangesOnly=true
# Cron para definir el tiempo de sincronización.Por ejemplo cada 5 minutos:
synchronization.import.cron=0 0/5 * * * ?
# Para que se sincronize un usuario que no existe aun en alfresco al entrar.
synchronization.syncWhenMissingPeopleLogIn=true
# Para sincronizar al arrancar alfresco.
synchronization.syncOnStartup=true
# Para permitir o denegar que un usuario que no está sincronizado pueda entrar.
synchronization.autoCreatePeopleOnLogin=true
# El número de entradas antes de ingresar al proceso de progreso
synchronization.loggingInterval=100
# El número de hilos a utilizar cuando se sincroniza.
synchronization.workerThreads=2

# Para activar o desactivar la sincronización
ldap.synchronization.active=true
# Para páginar los resultados de las consultas. Lo dejamos a 0.
ldap.synchronization.queryBatchSize=0
# El nombre del atributo que ha guarda las últimas actualizaciones de grupos o usuarios.
ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
# El formato de fecha y hora. Desafortunadamente, esto varía entre los Directorios Activos
ldap.synchronization.timestampFormat=yyyyMMddHHmmss'.0Z'
# El atributo que contiene el nombre.
ldap.synchronization.userFirstNameAttributeName=givenName
# El atributo que contiene el apellido
ldap.synchronization.userLastNameAttributeName=sn
# Atributo que contiene el correo.
ldap.synchronization.userEmailAttributeName=mail
# El atributo que define a los grupos.
ldap.synchronization.userOrganizationalIdAttributeName=company


He hecho un montón de pruebas, pero no consigo que Alfresco represente esos datos en el perfil del usuario del dominio.

Si alguien me intenta echar una manito, le estaría muy muy agradecido, ya que no se me ocurre que es lo que puede estar fallando.

¡Muchísimas gracias!

Un saludo.
3 Replies
angelborroy
Alfresco Employee

Re: Integración con Active Directory (recogida de atributos de usuario de Active Directory)

No veo el enlace con el Active Directory (p. e. "userSearchBase")… ¿Has revisado este artículo?

http://docs.alfresco.com/community/tasks/auth-example-oneldap-ad.html
Hyland Developer Evangelist
arrety
Member II

Re: Integración con Active Directory (recogida de atributos de usuario de Active Directory)

Hola,

Disculpa, no lo había puesto completo:


authentication.chain=alfinst:alfrescoNtlm,ldap1:ldap-ad
ntlm.authentication.sso.enabled=false
ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=%s@domain
ldap.authentication.java.naming.provider.url=ldap://srvdominio01:389
ldap.authentication.defaultAdministratorUserNames=Administrator,alfresco,Administrador
ldap.synchronization.java.naming.security.principal=MavAlfresco@domain
ldap.synchronization.java.naming.security.credentials=contraseña
ldap.synchronization.active=true
ldap.synchronization.groupSearchBase=dc=domain
ldap.synchronization.userSearchBase=dc=domain

# Para que sincronize sólo los cambios
synchronization.synchronizeChangesOnly=true
# Cron para definir el tiempo de sincronización.Por ejemplo cada 5 minutos:
synchronization.import.cron=0 0/5 * * * ?
# Para que se sincronize un usuario que no existe aun en alfresco al entrar.
synchronization.syncWhenMissingPeopleLogIn=true
# Para sincronizar al arrancar alfresco.
synchronization.syncOnStartup=true
# Para permitir o denegar que un usuario que no está sincronizado pueda entrar.
synchronization.autoCreatePeopleOnLogin=true
# El número de entradas antes de ingresar al proceso de progreso
synchronization.loggingInterval=100
# El número de hilos a utilizar cuando se sincroniza.
synchronization.workerThreads=2

# Para activar o desactivar la sincronización
ldap.synchronization.active=true
# Para páginar los resultados de las consultas. Lo dejamos a 0.
ldap.synchronization.queryBatchSize=0
# El nombre del atributo que ha guarda las últimas actualizaciones de grupos o usuarios.
ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
# El formato de fecha y hora. Desafortunadamente, esto varía entre los Directorios Activos
ldap.synchronization.timestampFormat=yyyyMMddHHmmss'.0Z'
# El atributo que contiene el nombre.
ldap.synchronization.userFirstNameAttributeName=givenName
# El atributo que contiene el apellido
ldap.synchronization.userLastNameAttributeName=sn
# Atributo que contiene el correo.
ldap.synchronization.userEmailAttributeName=mail
# El atributo que define a los grupos.
ldap.synchronization.userOrganizationalIdAttributeName=company


Lo que me interesa es sincronizar absolutamente todos los usuarios del dominio, de ahí que no le añada unidad organizativa y/o grupo.

¡Muchas gracias por su interés!

Un saludo,
angelborroy
Alfresco Employee

Re: Integración con Active Directory (recogida de atributos de usuario de Active Directory)

Si esos atributos (givenName, sn, mail, company) están en el nodo de persona del LDAP indicado en el userSearchBase, la configuración debería funcionar.

Verifica también que las constantes son exactamente las siguientes (a mí me parece que sí):

ldap.synchronization.userFirstNameAttributeName
ldap.synchronization.userLastNameAttributeName
ldap.synchronization.userEmailAttributeName
ldap.synchronization.userOrganizationalIdAttributeName

Finalmente, puedes activar el log detallado del subsistema de Sincronización para tratar de identificar qué es lo que está fallando (https://wiki.alfresco.com/wiki/The_Synchronization_Subsystem#Debugging).

Suerte
Hyland Developer Evangelist