cancel
Showing results for 
Search instead for 
Did you mean: 

Active Directory y Alfresco 3.4.d

alarde
Champ in-the-making
Champ in-the-making
Buenas a todos,

Soy nuevo en esto de alfresco y los gestores documentales, pero por lo que he visto ahora es lo que está pegando, he comparado varios Gestores Documentales y de momento me quedo con sharepoint o con alfresco, pero está un punto por delante Sharepoint, no he conseguido hacer que Alfresco coga los usuarios de AD y es un requisito indispensable, me gustaría poner Alfresco, pero llevo ya una semana dándole al tema pero no hay forma, he visto foros en castellano de alfresco, en inglés, he modificado archivos, he echo de todo menos lo que toca supongo…

Soy programador y algo entiendo, pero aún no he llegado a comprender dónde se programa para hacer modificaciones de alfresco, que por lo que he visto es en el directorio de instalación, pero aún así, no consigo integrar el AD.. haber si alguien me puede explicar cómo hacerlo para la versión 3.4.d de Alfresco, ya que lo que he visto que tenía que modificar lo que me suele pasar es que no tengo las carpetas dónde tengo que modificar los archivos que me piden.

Muchas gracias de antemano.

Un saludo,
Alex.
35 REPLIES 35

alarde
Champ in-the-making
Champ in-the-making
Pues nada por hoy me doy por vencido, voy a ver si como algo, dejo la última version del properties que se me ha quedado haber si los ojos expertos ven algo más que yo jiji:


############################### 
## Common Alfresco Properties # 
############################### 


# Sample custom content and index data location 
#————- 
dir.root=C:/Alfresco/alf_data
web.application.context.url=http://127.0.0.1:8080/alfresco


# Sample database connection properties 
#————- 
db.username=alfresco
db.password=admin
db.name=alfresco
db.url=jdbc:mysql://localhost:3306/alfresco

#${db.name}?useUnicode=yes&characterEncoding=UTF-8

### FTP Server Configuration ###
ftp.enabled=true
ftp.port=21
ftp.ipv6.enabled=false


# External locations 
#————- 
ooo.enabled=false
img.root=C:/Alfresco/imagemagick
img.dyn=${img.root}/lib
img.exe=${img.root}/convert
swf.exe=C:/Alfresco/swftools/pdf2swf.exe
jodconverter.enabled=true
jodconverter.officeHome=C:/Alfresco/openoffice/App/openoffice
jodconverter.portNumbers=8101


# MySQL connection 
#————- 
db.driver=org.gjt.mm.mysql.Driver

##### DÓNDE PONE ALFRESCO HAY QUE PONER EL NOMBRE DE LA BASE DE DATOS.

db.url=jdbc:mysql://localhost:3306/alfresco 
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect 


# Index Recovery Mode 
#————- 
#index.recovery.mode=Auto 


# Outbound Email Configuration 
#————- 
#mail.host= 
#mail.port=25 
#mail.username=anonymous 
#mail.password= 
#mail.encoding=UTF-8 
#mail.from.default=alfresco@alfresco.org 
#mail.smtp.auth=false 


# Alfresco Email Service and Email Server 
#————- 

# Enable/Disable the inbound email service.  The service could be used by processes other than 
# the Email Server (e.g. direct RMI access) so this flag is independent of the Email Service. 
#————- 
#email.inbound.enabled=true 

# Email Server properties 
#————- 
#email.server.enabled=true 
#email.server.port=25 
#email.server.domain=alfresco.com 
#email.inbound.unknownUser=anonymous 

# A comma separated list of email REGEX patterns of allowed senders. 
# If there are any values in the list then all sender email addresses 
# must match.  For example: 
#   .*\@alfresco\.com, .*\@alfresco\.org 
# Allow anyone: 
#————- 
#email.server.allowed.senders=.* 


# The default authentication chain 
# To configure external authentication subsystems see: 
# http://wiki.alfresco.com/wiki/Alfresco_Authentication_Subsystems 
#————- 
#authentication.chain=alfrescoNtlm1:alfrescoNtlm 
# FER_BEGIN 
authentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap1:ldap 
# FER_END 


# IMAP 
#————- 
#imap.server.enabled=true 
#imap.server.port=143 
#imap.server.host=localhost 


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


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

# 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=uid=%s,cn=users,dc=csat,dc=local

# 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://logios: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=admin,dc=csat,dc=local

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

# 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


# This properties file is used to configure LDAP syncronisation 


# The LDAP user to connect as to do the export operation. 
ldap.synchronization.java.naming.security.principal=cn=admin,dc=csat,dc=local

# The password for this user, if required 
ldap.synchronization.java.naming.security.credentials=secret 

# The timestamp format 
ldap.synchronization.timestampFormat=yyyyMMddHHmmss'Z'

# The query to find the people to import 
ldap.synchronisation.personQuery=(objectclass=inetOrgPerson) 

# The search base of the query to find people to import 
ldap.synchronisation.personSearchBase=cn=users,dc=csat,dc=local 
ldap.synchronization.userSearchBase=cn=users,dc=csat,dc=local

# The attribute name on people objects found in LDAP to use as the uid in Alfresco 
ldap.synchronisation.userIdAttributeName=uid 

# The attribute on person objects in LDAP to map to the first name property in Alfresco 
ldap.synchronisation.userFirstNameAttributeName=givenName 

# The attribute on person objects in LDAP to map to the last name property in Alfresco 
ldap.synchronisation.userLastNameAttributeName=sn 

# The attribute on person objects in LDAP to map to the email property in Alfresco 
ldap.synchronisation.userEmailAttributeName=mail 

# The attribute on person objects in LDAP to map to the organizational id property in Alfresco 
ldap.synchronisation.userOrganizationalIdAttributeName=o 

# The default home folder provider to use for people created via LDAP import 
ldap.synchronisation.defaultHomeFolderProvider=personalHomeFolderProvider 

# The query to find group objects 
ldap.synchronisation.groupQuery=(objectclass=groupOfUniqueNames) 

# The search base to use to find group objects 
ldap.synchronization.groupSearchBase=cn=users,dc=csat,dc=local 

# The attribute on LDAP group objects to map to the gid property in Alfrecso 
ldap.synchronisation.groupIdAttributeName=cn 

# The group type in LDAP 
ldap.synchronisation.groupType=groupOfUniqueNames 

# The person type in LDAP 
ldap.synchronisation.personType=inetOrgPerson 

# The attribute in LDAP on group objects that defines the DN for its members 
ldap.synchronisation.groupMemberAttributeName=uniqueMember 

# The cron expression defining when people imports should take place 
ldap.synchronisation.import.person.cron=0 */10 * * * ? 

# The cron expression defining when group imports should take place 
ldap.synchronisation.import.group.cron=0 30 * * * ? 

# Should all groups be cleared out at import time? 
# - this is safe as groups are not used in Alfresco for other things (unlike person objects which you should never clear out during an import) 
# - setting this to true means old group definitions will be tidied up. 
ldap.synchronisation.import.group.clearAllChildren=true</pre>

Gracias!!!

baskeyfield
Champ in-the-making
Champ in-the-making
Buenas,

Pues si estos datos son correctos:

ldap.authentication.userNameFormat=uid=%s,cn=users,dc=csat,dc=local

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

ldap.authentication.java.naming.security.principal=cn=admin,dc=csat,dc=local

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

ldap.synchronisation.personSearchBase=cn=users,dc=csat,dc=local

ldap.synchronization.userSearchBase=cn=users,dc=csat,dc=local

ldap.synchronization.groupSearchBase=cn=users,dc=csat,dc=local

Alfresco debería sincronizarte los usuarios. Has mirado el catalina.out (log del tomcat) para ver las trazas?

Debe indicarte algo sobre la importación.

Saludos.

alarde
Champ in-the-making
Champ in-the-making
Si te fijas, en el ejemplo pone esto:

ldap.authentication.userNameFormat=uid=%s,ou=people,dc=uniovi,dc=es

OU=people, me han dicho que lo cambie por "cn" que es un conector, y no sé si esto influirá en el funcionamiento.

He mirado el catalina.2011-05-03.log que es el log del tomcat no? que se encuentra en "Alfresco\virtual-tomcat\logs"

Y en principio la gente de sistemas me dice que la configuración debería ser así.

Cuando me logeo cómo tengo que hacerlo?

usuario: dominio\usuario
pass: pass

??

Un saludo y gracias por todo!

baskeyfield
Champ in-the-making
Champ in-the-making
Si, la cadena variará segun vuestra estructura de ldap.

Tienes que autenticarte con el nombre de usuario y contraseña de uno de tus usuarios de ldap:

usuario: usuario
pass: pass

Sobre el log del tomcat, estas trabajando en linux o en windows?

Saludos.

alarde
Champ in-the-making
Champ in-the-making
Windows.

Edito.: Jope, no hay forma macho, voy a reinstalar alfresco para limpiar un poquito la instalación y las cosas que he probado y vuelvo a poner el archivo como toca.

Puedes comentarme en qué carpeta está el archivo de log que tengo que consultar? Me parece que no estoy consultando el que toca.

Un saludo

alarde
Champ in-the-making
Champ in-the-making
Cada vez que cambiamos algo en algún archivo hay que reiniciar el Tomcat o algo?

baskeyfield
Champ in-the-making
Champ in-the-making
Si, aunque existen otras maneras (utilizando jmx en la versión enterprise) pero no es el caso.

Saludos.

yakon_8894
Champ in-the-making
Champ in-the-making
Buenas,

para depurar un poco mejor los que estás haciendo quizás te ayude activar los logs:

log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
log4j.logger.org.alfresco.repo.security=debug

en el log4j.properties que está en <dir_alfresco>/tomcat/webapps/alfresco/WEB-INF/classes

después si revisas el catalina.out deberían salirte logs de la sincronización de usuarios y de la autenticación. Quizás obtengas algo más de información.

Un saludo

alarde
Champ in-the-making
Champ in-the-making
He seguido ya mil tutoriales, no hay forma me parece que me voy a pasar a sharepoint 2010 muy a mi pesar jaja!

Siguiendo esta guia: http://www.anotherstrangerme.com/alfresco-integration-with-active-directory/

Salen estos errores…..

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'globalAuthenticationFilter' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\ntlm-filter-context.xml]: Cannot resolve reference to bean 'AuthenticationComponent' while setting bean property 'authenticationComponent'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AuthenticationComponent' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Cannot resolve reference to bean 'authenticationComponent' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationComponent' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Cannot resolve reference to bean 'passthruServers' while setting bean property 'passthruServers'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'passthruServers' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Invocation of init method failed; nested exception is org.alfresco.error.AlfrescoRuntimeException: 04060029 Error setting passthru domain, Failed to find domain controller or browse master for DOMAIN
originado por:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AuthenticationComponent' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Cannot resolve reference to bean 'authenticationComponent' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationComponent' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Cannot resolve reference to bean 'passthruServers' while setting bean property 'passthruServers'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'passthruServers' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Invocation of init method failed; nested exception is org.alfresco.error.AlfrescoRuntimeException: 04060029 Error setting passthru domain, Failed to find domain controller or browse master for DOMAIN
originado por:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationComponent' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Cannot resolve reference to bean 'passthruServers' while setting bean property 'passthruServers'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'passthruServers' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Invocation of init method failed; nested exception is org.alfresco.error.AlfrescoRuntimeException: 04060029 Error setting passthru domain, Failed to find domain controller or browse master for DOMAIN
originado por:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'passthruServers' defined in file [C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\subsystems\Authentication\passthru\passthru-authentication-context.xml]: Invocation of init method failed; nested exception is org.alfresco.error.AlfrescoRuntimeException: 04060029 Error setting passthru domain, Failed to find domain controller or browse master for DOMAIN
originado por:
org.alfresco.error.AlfrescoRuntimeException: 04060029 Error setting passthru domain, Failed to find domain controller or browse master for DOMAIN

alarde
Champ in-the-making
Champ in-the-making
He puesto las tres líneas en el log, pero el archivo catalina.out no está por ningún sitio, está por ahí el catalina-fecha.log

Buenas,

para depurar un poco mejor los que estás haciendo quizás te ayude activar los logs:

log4j.logger.org.alfresco.web.app.servlet.NTLMAuthenticationFilter=debug
log4j.logger.org.alfresco.repo.webdav.auth.NTLMAuthenticationFilter=debug
log4j.logger.org.alfresco.repo.security=debug

en el log4j.properties que está en <dir_alfresco>/tomcat/webapps/alfresco/WEB-INF/classes

después si revisas el catalina.out deberían salirte logs de la sincronización de usuarios y de la autenticación. Quizás obtengas algo más de información.

Un saludo