Problème de connexion open ldap

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

Problème de connexion open ldap

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
rguinot
Customer

Re: Problème de connexion open ldap

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
Member II

Re: Problème de connexion open ldap

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
Active Member

Re: Problème de connexion open ldap

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
Member II

Re: Problème de connexion open ldap

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
Member II

Re: Problème de connexion open ldap

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,