AnsweredAssumed Answered

configuration authentification ldap

Question asked by seb.dut on Feb 15, 2008
Latest reply on Feb 19, 2008 by lme
bonjour,

nous n'arrivons pas à configurer alfresco pour permettre l'authentification via un annuaire Ldap.

notre configuration est la suivante :
- Alfresco 2.1
- Tomcat 6.x
- jre 1.5.x
- os Red Hat 4.5
- Annuaire Ldap  : edirectory de novell netware 6.5

La vérification des mécanismes d'authentification autorisés par notre Ldap donne le résultat suivant :
ldapsearch -h [IP LDAP] -p 389 -x -b "" -s base -LLL supportedSASLMechanisms
dn:
supportedSASLMechanisms: EXTERNAL

Nous avons donc tenté d'utiliser le mécanisme simple, en mode anonymous dans le fichier de conf ldap-authentication-context.xml qui a le contenu suivant :
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
    <bean id="authenticationComponent" class="org.alfresco.repo.security.authentication.ldap.LDAPAuthenticationComponentImpl">
        <property name="LDAPInitialDirContextFactory">
            <ref bean="ldapInitialDirContextFactory"/>
        </property>
        <property name="userNameFormat">
            <value>uid=%s,o=[organisation]</value>
        </property>
    </bean>
    <bean id="ldapInitialDirContextFactory" class="org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl">
        <property name="initialDirContextEnvironment">
            <map>
                <entry key="java.naming.factory.initial">
                    <value>com.sun.jndi.ldap.LdapCtxFactory</value>
                </entry>
                <entry key="java.naming.provider.url">
                    <value>ldap://[IP LDAP]:389</value>
                </entry>
                <entry key="java.naming.security.authentication">
                    <value>simple</value>
                </entry>
            </map>
        </property>
    </bean>
   </beans>

Après vérif, nous arrivons bien via ldapsearch a trouver l'entrée recherchée dans le ldap en indiquant son uid, en mode anonyme, et via
authentification simple ("-x)  :

ldapsearch -x -h [IP LDAP] -b "o=[organisation]" "(uid=SDUPONT)"
# extended LDIF
#
# LDAPv3
# base <o=[organisation]> with scope sub
# filter: (uid=SDUPONT)
# requesting: ALL
#

# DUPONT, CLT_SERV, INFORMATIQUE, SIEGE, [organisation]
dn: cn=DUPONT,ou=CLT_SERV,ou=INFORMATIQUE,ou=SIEGE,o=[organisation]
uid: SDUPONT
initials: SD
givenName: Sebastien
sn: DUPONT
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
objectClass: ndsLoginProperties
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1

Après démarrage du service, le log indique

16:43:56,647 WARN  [org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl] LDAP server supports anonymous bind ldap://[IP LDAP]:389
16:43:56,648 INFO  [org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl] LDAP server does not support simple string user ids and invalid credentials at ldap://[IP LDAP]:389
16:43:56,650 INFO  [org.alfresco.repo.security.authentication.ldap.LDAPInitialDirContextFactoryImpl] LDAP server does not fall back to anonymous bind for a simple dn and password at ldap://[IP LDAP]:389

et impossible de se connecter, ni de mieux cerner le problème. Quelqu'un  a-t-il une idée ?

merci !
Sébastien

Outcomes