Guía para autenticar contra Active directory // (V.3.4.c)

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

Guía para autenticar contra Active directory // (V.3.4.c)

Buenas a todos, después de mi odisea con el Active Directory de Windows, con alfresco y con el Tomcat por fin he conseguido conectar mi red de Active Directory con Alfresco y por lo tanto autentificar los usuarios atacando al AD.

Mi instalación de alfresco está montada sobre un Windows Server 2008 por lo que las rutas que daré serán todas las rutas por defecto que da alfresco para la instalación.

Lo primero que tengo que deciros es que lo único que hay que tocar es el archivo que se llama alfresco-global.properties que se encuentra en la siguiente ruta: C:\Alfresco\tomcat\shared\classes

Así que lo primero que vamos a hacer es ir a esta ruta y abrir en modo edición el archivo alfresco-global.properties

La siguiente configuración no se tiene que copiar y pegar simplemente, ya que hay que añadir datos del ldap y otras cositas que podreis ver. Toda la configuración que voy a poner se tiene que escribir debajo de todo lo que lleva el archivo alfresco-global.properties, no hay que eliminar NADA de ese archivo!!!

Las líneas que estén entre < >, se tendrán que modificar y habrá que eliminar los "< >" inclusive.

Configuración:

Lo primero a realizar es el tipo de autenticación que vamos a utilizar que es la siguiente:

authentication.chain=alfrescoNtlm1:alfrescoNtlm,passthru1Smiley Tongueassthru,ldap1:ldap

Por que las tres?

Está basado en La wiki de alfresco, ldap puede sincronizar por mediación del Active Directory, mientras que el passthru puede hacerlo por mediación del CIFS.

Alfresco NTLM, passthru y ldap configuration para CIFS

ntlm.authentication.sso.enabled=false
ntlm.authentication.authenticateCIFS=false
alfresco.authentication.authenticateCIFS=false
alfresco.authentication.allowGuestLogin=false
passthru.authentication.sso.enabled=false
passthru.authentication.authenticateCIFS=true
ldap.authentication.active=false
ldap.synchronization.active=true

Autenticación del dominio

passthru.authentication.useLocalServer=false
passthru.authentication.domain=
passthru.authentication.servers=<NetBIOS.DOMAIN>\\<Dirección.IP.de.tu.dominio>

Para que ningún desconocido pueda acceder a Alfresco

ntlm.authentication.sso.enables=false
ntlm.authentication.mapUnknownUserToGuest=false

No voy a utilizar FTP

passthru.authentication.authenticateFTP=false

Defino la cuenta de administrador, si vamos a querer más de una se separan por comas ","

passthru.authentication.guestAccess=false
passthru.authentication.defaultAdministratorUserNames=admin
passthru.authentication.connectTimeout=5000
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP,NETBIOS

Sincronización con LDAP, hay que definir el timpo de autenticación (simple en mi caso) y el servidor ldap

ldap.authentication.java.naming.security.authentication=simple         //esto habrá que cambiarlo según el caso, borrar este comentario.
ldap.authentication.userNameFormat=%s
ldap.authentication.allowGuestLogin=false
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://<Tu.Dirección.IP.Del.Servidor.Active.Directory>:389
ldap.authentication.escapeCommasInBind=false
ldap.authentication.escapeCommasInUid=false

Ahora tendremos que poner la cuenta con privilegios de administración para conectarla con Active Directory

ldap.synchronization.java.naming.security.principal=<NetBIOS>\\<Nombre Admin> //esto habrá que cambiarlo, en mi caso he puesto únicamente: administrador
ldap.synchronization.java.naming.security.credentials=<Admin.password>//esto habrá que cambiarlo
ldap.synchronization.queryBatchSize=1000
ldap.synchronization.groupDifferentialQuery=(&(objectclass=nogroup)(!(modifyTimestamp<\={0})))
ldap.synchronization.personQuery=(&(objectclass=user)(userAccountControl\:1.2.840.113556.1.4.803\:\=512))
ldap.synchronization.personDifferentialQuery=(& (objectclass=user)(!(modifyTimestamp<\={0})))
ldap.synchronization.groupQuery=(objectclass\=group)

Sincronización por grupo y usuario por dominio

ldap.synchronization.groupSearchBase=cn\=users,dc=<Tu.dominio>,dc=com
ldap.synchronization.userSearchBase=cn\=users,dc=<Tu.dominio>,dc=com

Forma de acceso a Active Directory, no tendremos que cambiar nada

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=msExchALObjectVersion
ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupType=Nogroup
ldap.synchronization.personType=user
ldap.synchronization.groupMemberAttributeName=member
synchronization.synchronizeChangesOnly=true

Configuración CIFS

cifs.disableNativeCode=false
cifs.enabled=true
cifs.serverName=<Servidor.Donde.esta.alfresco>
cifs.domain=<NetBIOS.Domain>
cifs.hostannounce=true
cifs.sessionTimeout=500
cifs.ipv6.enabled=false
cifs.tcpipSMB.port=1445
cifs.netBIOSSMB.namePort=1137
cifs.netBIOSSMB.datagramPort=1138
cifs.netBIOSSMB.sessionPort=1139
cifs.WINS.autoDetectEnabled=true

Y ya lo tenemos todo

Ahora solo quedará apagar el servicio del tomcat, el del MySQL y volver a arrancar los dos.

Para el que no sepa cómo hacerlo, simplemente tendrá que ir a "ejecutar" y poner "services.msc", se abrirá una ventana nueva, ahí tenemos que buscar "alfrescoMySQL" y "alfrescoTomcat".

Gracias a todos los que me han ayudado en ESTE post por su incondición ayuda y gracias a andoylang.wordpress.com.

Espero que le pueda servir de ayuda a personas que como yo estamos iniciándonos en este mundillo de alfresco, que tantos quebraderos de cabeza nos dá jeje.

Un saludo!
10 Replies
josodo
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

¡Gran trabajo Álex! Seguro que tu investigación ayuda a mucha gente.
"Las cosas se hacen o no se hacen… pero no se intentan" - Yoda -
alarde
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

Muchas gracias, eso espero, que ayude a gente y que no tenga que pasarse tanto tiempo como lo he pasado yo (:
jubalo
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

Pero que grande!!!!

Gracias Alarde me has ayudado mucho, llevaba semanas enganchado con este problema en Alfresco, lo estaba poniendo en práctica en mi FCT e iba de cabeza,  grande sosiyo!!!!!!un abrazo de JUBALO
andoni
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

Muy bueno Alarde, gente como tu hace posible que se siga creyendo en el código abierto!!!!

Ahora no me funciona el CIFS pero bueno, tocará pelear "un poco más" con Alfresco…

Saludos.
latre
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

Excelente, me funciono la autenticacion con Active directory en windows 2008 Smiley Happy

Muchas gracias por tu tiempo.
cjimenez
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

Gracias por la configuración!  Smiley Very Happy
vega_ivan
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

He seguido los pasos segun los mencionan pero me surge una duda. La pantalla de Login cambia de alguna forma? O como valido si esta cargando la conexion al AD.
oskar201
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

Hola vega.ivan, la mejor forma de verificar que tu configuración con LDAP ha sido exitosa es entrar a Alfresco como administrador y listar todos los usuarios, veras como los usuarios de LDAP han sido traidos a Alfresco, también veras los que tenias previamente creados.
La interfaz de login de Alfresco no cambia en absoluto, luego intenta loguearte con alguno de los usuarios LDAP con su nombre y contraseña definidos previamente en LDAP

Saludos
aguerra
Member II

Re: Guía para autenticar contra Active directory // (V.3.4.c)

Alarde,

Tremendo post, en lo parsonal me has salvado la vida.
Muchas gracias y extiendo también el agradecimiento a todos los que te colaboraron.

Suerte.