Autenticación NTLM en Alfresco con Active Directory

En muchas ocasiones, aunque el servidor de autenticación sea un Windows 2000 Server, Windows 2003 Server o posterior y sus usuarios estén en el Active Directory no es necesario tener que configurar Alfresco para que autentique como tal vía LDAP/Active Directory.

Windows 2000 y superiores utilizan la autenticación mixta vía LDAP (Active Directory) y TLM v2 y por tanto podemos configurar Alfresco tocando solamente 3 ficheros, que serán:

web.xml
ntlm-authentication-context.xml
file-servers-custom.xml

En Alfresco, este tipo de autenticación donde no solo se usa el protocolo “desafío/respuesta” NTLM sino que además se usa contra una base de datos de usuarios de Windows, para la identificación de cada persona, se le denomina “NTLM passthru”.

Se usa ${tomcat} como identificador del punto de comienzo del servidor de aplicaciones que en este caso es Apache-Tomcat.

Primero hay que activar los filtros necesarios para la autenticación vía web en ${tomcat}/webapps/alfresco/WEB-INF/web.xmldescomentando las líneas siguientes:

org.alfresco.web.app.servlet.NTLMAuthenticationFilter

org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter


Authentication
Filter
/navigate/*


Authentication
Filter
/command/*


Authentication
Filter
/download/*


Authentication
Filter
/template/*


Authentication
Filter
/n/*


Authentication
Filter
/c/*


Authentication
Filter
/t/*


Authentication
Filter
/d/*


Authentication
Filter
/ajax/*


Authentication
Filter
/wcs/*


Authentication
Filter
/wcservice/*

Lo mejor es buscar la cadena “NTLM” y a partir de ahí descomentar estas líneas.

El siguiente fichero a configurar es ${tomcat}/share/classes/alfresco/extension/ntlm-authentication-context.xml donde solo hay que establecer el servidor o servidores Windows que contienen el Active Directory.

En este caso, por ejemplo:


MIDOMINIOserv001, serv001


Y por último el fichero ${tomcat}/share/classes/alfresco/extension/file-servers-custom.xml que es el que nos permitirá acceder a los recursos CIFS (SMB) desde Windows o desde Linux. Aquí se configura para usar “passthru” así como los servidores necesarios.

Por ejemplo:



MIDOMINIOserv001, serv001



Con esto ya estaría configurado nuestro sistema para autenticación NTLM y acceso a los recursos vía CIFS/SMB. Bastará con poner en la dirección del navegador de ficheros la dirección del host o servidor Alfresco:

En Windows como \serv001

En Linux, generalmente como smb://srv001

Observaciones: Hay que tener en cuenta que si es un entorno Linux los puertos usados
para los recursos CIFS/SMB (puertos 137, 138, 139 y 445) solo pueden abrirse por el usuario root y no por un usuario sin privilegios de administración. En este último caso habría que utilizar puertos por encima del 1024 reasignándose dentro de la configuración (en el
propio fichero file-servers-custom.xml) y utilizando un sistema de “forwading” o “NAT” con un router.

6 replies on “Autenticación NTLM en Alfresco con Active Directory”

  1. Isaias dice:

    Eso se configura en el file-server-custom.xml a tu gusto.

  2. fegor dice:

    Exacto, dentro de ${alfresco}/file-server.xml o en ${extension}/file-server-custom.xml podemos observar el atributo host que indica con que nombre de máquina tiene que identificar en la red el servidor Alfresco.

    En la versión 2.0.x está como:

    < host name="${localname}_A"/ >

    Y en la versión 2.1.x en adelante como:

    < host name="${localname}A"/ >

    Así mismo en la versión 3.1 cambia a la siguiente forma:

    < host name="${cifs.localname}A" domain="${cifs.domain}"/ >

    Como se puede observar, en versiones 2.0 se usaba el host con _A pero en las posteriores se eliminó el subrayado como separador.

    (Nota: Los símbolos mayor qué, y menor qué de los tags se han separado por un espacio para no afectar al texto del blog)

  3. Miguel dice:

    Hola estoy tratando de configurar Alfresco con AD y quisiera saber si estos parametros sirven para la version 3.3 de alfresco o si as visto algo sobre el tema.

    si me pudieras orientar se agradece

  4. Steven dice:

    Hola,quisiera aprovechar los conocimientosde uds, ya que soy nuevo implementando este sistema, y me he encontrado ciertas dificultades, intento integrar el alfresco con el active directory de mi empresa, pero hasta el momento solo he conseguido que los usuarios se puedan loguear con las credenciales del AD, pero pareciera que las cuentas se mantienen como invitados, y el usuario que le asigne como administrador principal no me permite editar ningun perfil.
    Agradeceria la ayuda o comentarios

    saludos!

  5. fegor dice:

    Hola Miguel y Steven, las configuraciones para autenticación en AD, LDAP, Kerberos, etc. han cambiado con la versión 3.3.x y 3.4.

    En cuanto pueda actualizaré este post para contemplar el tema de los subsistemas.

    Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *