AnsweredAssumed Answered

Alfresco 3.2r Configurar autenticación en varias ramas ldap

Question asked by rafabono_9703 on Jul 23, 2010
Latest reply on Mar 13, 2013 by cristinamr
Buenas, expongo el caso con el que me he encontrado:

He realizado una instalación de alfresco 3.2r en un sólo nodo atacando a una bbdd oracle. Una vez instalado, compruebo que puedo logarme y que todo está correcto.

Posteriormente configuro la autenticación para ldap. Para ello, copio la carpeta  subsystems/Authentication/ldap del contexto desplegado en el extension. Dentro de esta carpeta, creo otra llamada ldap1, y ahí muevo los ficheros ldap-authentication-context.xml y ldap-authentication.properties. Tras modificar estos ficheros para que se autentique contra una rama de ldap (para más ramas habría que hacer lo mismo, crear otra carpeta ldap2, ldap3, etc…) y añadir la siguiente línea al alfresco-global.properties:

authentication.chain=ldap1:ldap,alfrescoNtlm1:alfrescoNtlm

reinicio alfresco para que tome la nueva configuración.

Sin embargo no funciona, no es capaz de autenticar por ldap.

Entonces borro el esquema de bbdd, despliegue, work, temp, content-store e índices y hago como una nueva instalación, pero con la configuración que ya tengo.

Al arrancar así, sí que funciona la autenticación contra ldap.

Ahora pruebo añadir una nueva rama. Pero nada, tras reiniciar, no sólo no se loga contra esa nueva rama, sino que me mata el proceso del tomcat donde corre alfresco.

Vuelvo a realizar la instalación limpia con la configuración para las dos ramas, y ahora sí que las coge.

Lo que ocurre entonces es que cada vez que configuro una nueva rama y me intento logar sobre esta, me mata el proceso. Para que me coja las distintas ramas, estas deben estar configuradas al realizar la instalación.

Me gustaría saber si alguien se ha encontrado con esta situación y si ha encontrado solución a este problema, que pinta ser un bug de alfresco.

Para completar más la información adjunto un ejemplo de uno de los ldap-authentication.properties. Indicar también que no utilizo sincronización con el ldap:

ldap.authentication.active=true

ldap.authentication.allowGuestLogin=false

ldap.authentication.userNameFormat=uid=%s,o=XXXX,o=XXXXX,o=XXXXXX,c=XX

ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory

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

ldap.authentication.java.naming.security.authentication=simple

ldap.authentication.escapeCommasInBind=false

ldap.authentication.escapeCommasInUid=false

ldap.authentication.defaultAdministratorUserNames=

ldap.synchronization.active=false

ldap.synchronization.java.naming.security.principal=cn\=Manager,dc\=company,dc\=com

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

ldap.synchronization.queryBatchSize=1000

ldap.synchronization.groupQuery=(objectclass\=groupOfNames)

ldap.synchronization.groupDifferentialQuery=(&(objectclass\=groupOfNames)(!(modifyTimestamp<\={0})))

ldap.synchronization.personQuery=(objectclass\=inetOrgPerson)

ldap.synchronization.personDifferentialQuery=(&(objectclass\=inetOrgPerson)(!(modifyTimestamp<\={0})))

ldap.synchronization.groupSearchBase=ou\=Groups,dc\=company,dc\=com

ldap.synchronization.userSearchBase=ou\=People,dc\=company,dc\=com

ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp

ldap.synchronization.timestampFormat=yyyyMMddHHmmss'Z'

ldap.synchronization.userIdAttributeName=uid

ldap.synchronization.userFirstNameAttributeName=givenName

ldap.synchronization.userLastNameAttributeName=sn

ldap.synchronization.userEmailAttributeName=mail

ldap.synchronization.userOrganizationalIdAttributeName=o

ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider

ldap.synchronization.groupIdAttributeName=cn

ldap.synchronization.groupType=groupOfNames

ldap.synchronization.personType=inetOrgPerson

ldap.synchronization.groupMemberAttributeName=member

ldap.synchronization.enableProgressEstimation=true


Muchas gracias.

Outcomes