cancel
Showing results for 
Search instead for 
Did you mean: 

Problème de connexion open ldap

abrahmi
Champ in-the-making
Champ in-the-making
Bonjour,
J'arrive pas à faire fonctionner la connexion à un open ldap par cela marche avec aves les AD.
J'obtiens cette erreur
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ldapInitialDirContextFactory' defined in file [/opt/alfresco-4.2.b/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Authentication/ldap/../common-ldap-context.xml]: Invocation of init method failed; nested exception is org.alfresco.repo.security.authentication.AuthenticationException: 01070000 The ldap server at ldap://192.168.16.6:389 falls back to use anonymous bind if invalid security credentials are presented. This is not supported.
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
   at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
   at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
   at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
   at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
   … 56 more
Caused by: org.alfresco.repo.security.authentication.AuthenticationException: 01070000 The ldap server at ldap://192.168.16.6:389 falls back to use anonymous bind if invalid security credentials are presented. This is not supported.
   at org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl.afterPropertiesSet(LDAPInitialDirContextFactoryImpl.java:331)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
   at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417)
   … 63 more

Merci pour votre réponse.
Cordialement,
5 REPLIES 5

rguinot
Confirmed Champ
Confirmed Champ
Laissez savoir quelle version d'Alfresco vous utilisez. Est-ce normal d'avoir activé l'anonymous bind dans votre config ? A ma connaissance, ce cas a été adressé depuis la 3.3g. voir https://issues.alfresco.com/jira/browse/ALF-1905

abrahmi
Champ in-the-making
Champ in-the-making
bonjour,
Je traveille avec alfresco-4.2.b.
Voila le config que j'utilise.
ldap.authentication.active=true
ldap.authentication.allowGuestLogin=false
ldap.authentication.userNameFormat=uid\=%s,ou\=Users,dc\=domain,dc\=local
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://server:389
ldap.authentication.java.naming.security.authentication=none
ldap.authentication.escapeCommasInBind=true
ldap.authentication.escapeCommasInUid=true
ldap.authentication.defaultAdministratorUserNames=admin
ldap.synchronization.active=true
ldap.synchronization.java.naming.security.authentication=none
ldap.synchronization.java.naming.security.principal=uid\=user,ou\=Users,dc\=domain,dc\=local
ldap.synchronization.java.naming.security.credentials=passorduser
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)
ldap.synchronization.personDifferentialQuery=(&(objectclass\=user)(!(modifyTimestamp<\={0})))
ldap.synchronization.groupSearchBase=dc\=domain,dc\=local
ldap.synchronization.userSearchBase=dc\=domain,dc\=local
ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
ldap.synchronization.timestampFormat=yyyyMMddHHmmss'Z'
ldap.synchronization.userIdAttributeName=sAMAccountName
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail
ldap.synchronization.userOrganizationalIdAttributeName=company
ldap.synchronization.defaultHomeFolderProvider=largeHomeFolderProvider
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupDisplayNameAttributeName=displayName
ldap.synchronization.groupType=group
ldap.synchronization.personType=user
ldap.synchronization.groupMemberAttributeName=member
ldap.synchronization.enableProgressEstimation=true

Voila le config utilisé par un main java pour réussir à se connecter à ce même openLdap
String providerURL = new StringBuffer("ldap://").append(hostname).append(":").append(port).toString();
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
props.put(Context.PROVIDER_URL, providerURL);
props.put(Context.SECURITY_PRINCIPAL, username);
props.put(Context.SECURITY_CREDENTIALS, ((password == null) ? "" : password));

Cordialement,

sibe
Champ on-the-rise
Champ on-the-rise
Poouvez-vous comuniquer votre chain (défini dans alfresco-global.properties). En même temps vous pouvez aussi nous dire sur quel fichier avez-vous fait vos modifications (alfresco-global.properties ou dans shared/classes/alfresco/extension/subsytems/Authentication/ldap/*properties).

Sinon par rapport à votre message précédent je vois par exemple que vous avez défini deux fois la variable ci dessous :
ldap.authentication.java.naming.security.authentication=none

D'ailleurs pour l'avez vous passer en "none". Sinon vous pouvez bien utiliser
ldap.authentication.java.naming.security.authentication=simple
et ajouter les deux variables ci dessous :
ldap.synchronization.java.naming.security.principal=votre user admin
ldap.synchronization.java.naming.security.credentials=Mot-De-passe

abrahmi
Champ in-the-making
Champ in-the-making
Re,
Merci bien pour votre réponse rapide.
1) chaine : authentication.chain=ldap1:ldap,alfrescoNtlm1:alfrescoNtlm
2 ) dans shared/classes/alfresco/extension/subsytems/Authentication/ldap/*properties
3) J'ai défini 2 variables et non pas une seule :
ldap.authentication.java.naming.security.authentication=none
ldap.synchronization.java.naming.security.authentication=none
4) si j'utilise ldap.authentication.java.naming.security.authentication=simple,
un message me dit que ldap ne supporte pas cela.(en plus si j'utilise simple cela ne marche pas avec un main java c'est pour cela que je l'ai mis en none).

Cordialement,

abrahmi
Champ in-the-making
Champ in-the-making
Bonjour,

Est ce qu'il me faut cet addon http://addons.alfresco.com/addons/alfresco-cifs-authenticator-openldap-users pour se connecter avec un openldap?
Merci pour votre réponse.

Cordialement,
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.