cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco 3.4 y LDAP

david_6914
Champ in-the-making
Champ in-the-making
Hola a todos,
estoy intentando logearme en alfresco contra mi servidor LDAP, pero estoy un poco confuso, en la wiki de alfresco me dice que hay que crearse un archivo en
$TOMCAT_HOME/shared/classes/alfresco/extension/subsystems/Authentication/ldap/ldap1/ldap-authentication.properties

Con las propiedades de la conexión, lo he probado y no me funciona.
También he probado a poner la configuración en el archivo "alfresco-global.properties", como he leido en un blog, pero tampoco funciona.

Ya no se si es problema que no pongo en el sitio correcto la configuración o es que los datos de esta son incorrectos (aunque para el resto de aplicaciones que usan este tipo de autorización funcionan correctamente).

Ahí van los datos de configuración:


#
# This properties file brings together the common options for LDAP authentication rather than editing the bean definitions
#

ldap.authentication.active=true
ldap.synchronization.active=false

# How to map the user id entered by the user to taht passed through to LDAP
# - simple
# - this must be a DN and would be something like
# CN=%s,DC=company,DC=com
# - digest
# - usually pass through what is entered
# %s
ldap.authentication.userNameFormat=dc=auth,dc=innoforma,dc=com

# The LDAP context factory to use
#ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory

# The URL to connect to the LDAP server
ldap.authentication.java.naming.provider.url=ldap://auth.desarrollo:389

# The authentication mechanism to use
#ldap.authentication.java.naming.security.authentication=DIGEST-MD5
ldap.authentication.java.naming.security.authentication=simple

# The default principal to use (only used for LDAP sync)
ldap.authentication.java.naming.security.principal=cn=root,dc=auth,dc=innoforma,dc=com

# The password for the default principal (only used for LDAP sync)
ldap.authentication.java.naming.security.credentials=*********

# Escape commas entered by the user at bind time
# Useful when using simple authentication and the CN is part of the DN and contains commas
ldap.authentication.escapeCommasInBind=false

# Escape commas entered by the user when setting the authenticated user
# Useful when using simple authentication and the CN is part of the DN and contains commas, and the escaped \, is
# pulled in as part of an LDAP sync
# If this option is set to true it will break the default home folder provider as space names can not contain \
ldap.authentication.escapeCommasInUid=false

Alguna ayuda? Gracias de antemano!
8 REPLIES 8

cristinamr
World-Class Innovator
World-Class Innovator
Buenas.

En el archivo ldap-authentication.properties debes poner la configuración relativa a tu ldap (cadena de conexión,etc..) y por otra parte en el alfresco-global.properties, en la linea authentication.chain debes añadir ldap-ad1:ldap-ad, similar a esto:

#
# The default authentication chain
# To configure external authentication subsystems see:
# http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems
#————-
authentication.chain=alfrescoNtlm1:alfrescoNtlm,passthru1:passthru,ldap-ad1:ldap-ad

Si no haces esto, alfresco no reconocerá todo lo que hayas puesto en el  ldap-authentication.properties (subsystems\Authentication\ldap-ad\ldap-ad1).

Prueba a ver si así te lo reconoce.

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

david_6914
Champ in-the-making
Champ in-the-making
Por fin lo conseguí, el problema es que ponia el dominio del servidor ldap y el dns no resolvia correctamente, puse la ip y todo funcionó.

Gracias!

tozino
Champ in-the-making
Champ in-the-making
Hola soy nuevo en el uso de alfresco y estoy tratando de integrarlo con mi servidor ldap, hasta ahora no lo he conseguido hacer, he modificado el archivo ldap-authentication.properties y el alfresco-global.properties pero cuando trato de iniciar sesion en el servidor de alfresco con alguno de los usuarios del ldap me da error, no siendo asi con los usuarios que le he creado al Alfresco. Agradeceria que de ser posible me dijeran la configuracion exacta que debe tener el archivo ldap-authentication.properties para que funcione la integracion, agradezco de antemano toda la ayuda que me puedan brindar

czela
Champ in-the-making
Champ in-the-making
Hola a toda la comunidad en castellano, tengo una consulta que hacerles:
Tengo una aplicacion cliente en java que se autentica a alfresco mediante webservices, el alfresco que tengo autentica mediante Active Directory, pero tengo un problema, mediante el explorer de alfresco si logra loguearse pero mediante mi aplicacion no, al revisar vi que los usuarios del AD no son importados a alfresco masivamente solo los importa cuando me autentico por primera vez  y recien ahi existe el usuario y mi aplicacion ya se puede loguear..entonces se me ocurrio dos cosas o importar todos los usuario del arbol del AD o mediante el ws de alfresco para java autenticarme al ldap configurado en alfresco?? alguien podria decirme cual es la mas factible y como implementarla..??

Gracias

cristinamr
World-Class Innovator
World-Class Innovator
Buenos días.

La solución más inmediata que veo es que configures la sincronización de tu active directory, es decir que cuando arranques alfresco te traiga toooodos los usuarios a tu Alfresco, así ya estarán creados.

Ojeate este link, y mira el apartado que comienza por "For user synchronization to work we must configure…" que creo que viene bien explicado y puede servirte de orientación.

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

czela
Champ in-the-making
Champ in-the-making
Gracias Cristina por la referencia pero ya lo habia intentado y me sale varias excepciones, sin embargo ya llegue a resolver el problema  Smiley Very Happy . Adjunto los pasos y la configuracion :

- En muchos foros indican que hay que crear carpetas de subsistemas y configurar XML's, etc, esto sirve para ordenarlo con el fin de escalarlo, pero los casos mas comunes es sincronizarlo con un solo server de Active Directory y para ello solo se necesita configurar el alfresco-global.propeties ubicado en "alfresco/tomcat/shared/classes" de la siguiente forma y orden(todo lo que se cambia lo he diferenciado con "MI…."  y el dominio lo he llamado "DOMINIO.COM"):

### Sincronizacion con Active Directory ###
authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap-ad1:ldap-ad

ldap.authentication.active=true
ldap.authentication.allowGuestLogin=true
ldap.authentication.userNameFormat=%s@DOMINIO.COM
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://MI_IP_SERVER:389
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.escapeCommasInBind=false
ldap.authentication.escapeCommasInUid=false
ldap.authentication.defaultAdministratorUserNames=MI_USER_ADMIN_DE_ALFRESCO
ldap.synchronization.active=true
ldap.synchronization.java.naming.security.authentication=simple
ldap.synchronization.java.naming.security.principal=MI_USER_AD@DOMINIO.COM
ldap.synchronization.java.naming.security.credentials=MI_PASS_DEL_USER_AD
ldap.synchronization.queryBatchSize=1000
ldap.synchronization.attributeBatchSize=1000
ldap.synchronization.groupQuery=(objectclass=group)
ldap.synchronization.groupDifferentialQuery=(&(objectclass=group)(!(modifyTimestamp<={0})))
ldap.synchronization.personQuery=(&(objectclass=user)(userAccountControl:1.2.840.113556.1.4.803:=512))
ldap.synchronization.personDifferentialQuery=(&(objectclass=user)(userAccountControl:1.2.840.113556.1.4.803:=512)(!(modifyTimestamp<={0})))
ldap.synchronization.groupSearchBase=dc=DOMINIO,dc=COM
ldap.synchronization.userSearchBase=dc=DOMINIO,dc=COM
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.userOrganizationalIdAttributeName=MI_ORGANIZACION
ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupDisplayNameAttributeName=displayName
ldap.synchronization.groupType=group
ldap.synchronization.personType=user
ldap.synchronization.groupMemberAttributeName=member
ldap.synchronization.enableProgressEstimation=true
### Job de Mantenimiento ###
synchronization.import.cron=0 0 4 * * ?
synchronization.synchronizeChangesOnly=true
synchronization.syncOnStartup=true
synchronization.syncWhenMissingPeopleLogIn=true
synchronization.autoCreatePeopleOnLogin=false

Y eso es todo, cabe resaltar que esto funciona con Active Directory (AD), ya con otro server LDAP algunas propiedades es diferente el valor.

Espero les ayude, desde Peru.

Carlos Zela Bueno

inalbis
Champ in-the-making
Champ in-the-making
Hola a todos.

Estoy desarrollando un paquete de módulo de alfresco y necesito integrarlo con un servidor Ldap, alguien sabe como configurar alfresco 3.4 para que se integre con OpenLdap.

Gracias

cristinamr
World-Class Innovator
World-Class Innovator
Buenas.

Ojea esta entrada de la wiki inalbis y apúntate que la mayoría de las respuestas (sobre todo de configuración y "tuneo") están en la wiki  :wink:

Al menos tienes por donde empezar a configurar 😃

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