Configuration de JCMS avec OpenLDAP (LDAP/LDAPS)

1. Configuration du serveur OpenLDAP

Ajoutez les entrées suivantes dans le fichier slapd.conf 
   suffix "dc=jalios,dc=com"
   rootdn cn=Manager,dc=jalios,dc=com
   rootpw secret

Le rootdn permet d'avoir une pseudo entrée de gestion.

Pour vérifier chacunes des étapes de la configuration du serveur LDAP, vous pouvez:
Soit utiliser la commande suivante pour faire une recherche complète sur votre serveur :
    $> ldapsearch -x -b 'dc=jalios,dc=com' '(objectclass=*)'
Soit utiliser une application telle que LDAP Browser/Editor http://www.iit.edu/~gawojar/ldap/

2. Alimentation initiale du serveur

Ajoutez au serveur LDAP les entrées nécessaires pour JCMS. Pour cela utilisez les fichiers 'jalios.ldif' et 'jcms.ldif' joints à cette publication.

Création de l'organisation Jalios
   $> ldapadd -x -D "cn=Manager,dc=jalios,dc=com" -w secret -f jalios.ldif

Ajout du compte de gestion jcms (en plus de celui de Manager)
   $> ldapadd -x -D "cn=Manager,dc=jalios,dc=com" -w secret -f jcms.ldif

Pour importer les fichiers LDIF, vous pouvez aussi utiliser le LDAP Browser/Editor en lieu et place de la commande ldapadd.
Vérifiez ensuite que ces entrées ont bien été ajoutées.

3. Configuration de JCMS

Configurez les propriétes LDAP de JCMS comme suit :

  • Protocol: ldap://
  • Hostname: addresse du serveur LDAP
  • Port: 339
  • JCMS login: cn=jcms,dc=jalios,dc=com
  • JCMS password: jcms
  • DN Suffix: dc=jalios,dc=com
  • Request filter: uid={0}

LDAP Server

LDAP Settings

4. Configuration de JCMS en SSL (LDAPS)

Si vous utilisez une connexion SSL (uniquement à partir de JCMS 4.1.1) certaines étapes supplémentaires sont nécessaires pour la configuration de JCMS.

Tout d'abord, il faut installer le certificat du serveur LDAP dans la base des certificats de confiance de la JRE (la JRE utilisé pour faire tourner votre serveur d'application et donc JCMS). Pour cela, utilisez l'outil "keytool" fourni avec la JRE. 
   $> cd $JAVA_HOME/lib/security
  $> keytool -import -file CertificatDuServeur.pem -keystore cacerts

Si un mot de passe vous est demandé, il s'agit du mot de passe du fichier cacerts. Le mot de passe par défaut de ce fichier dans la distribution de la JDK de Sun est "changeit".

Si vous avez utilisé la distrbution OpenLDAP 2.0.27 ILEX (http://www.ilex.fr/openldap/), le certificat du serveur server.pem est situé à la racine du répertoire d'installation de OpenLDAP.

Ensuite, dans les propriétés de JCMS précisez les propriétés suivantes:

  • Protocole: "ldaps://"
  • Port: 636

5. Tests

Pour réaliser des tests de connexion avec un utilisateur fictif, vous pouvez utiliser le ficher test.ldif joint à cette fiche:
    $> ldapadd -x -D "cn=Manager,dc=jalios,dc=com" -w secret -f test.ldif

Effectuez ensuite des tests de connexion sur JCMS:

  • login: "durant", password: "michel" -> Création d'un compte
  • login: "durant", password: "blabla" -> Authentification invalide

Pour supprimer l'utilisateur: 
    $> ldapdelete -x -w secret -D "cn=Manager,dc=jalios,dc=com" "cn=jcms,dc=jalios,dc=com"

Pour vos tests, une distribution windows d'un serveur openLDAP pré-compilé avec le support SSL est disponible ici: http://www.ilex.fr/openldap/
Le LDAP Browser/Editor est quant à lui téléchargeable là: http://www.iit.edu/~gawojar/ldap/

En résumé...

Cet article décrit la mise en oeuvre d'OpenLDAP avec JCMS, ainsi que la configuration nécessaire pour le fonctionnement de l'authentification JCMS avec LDAPS (disponible à partir de la version 4.1.1 de JCMS).

Sujet
Publié

19/08/04

Rédacteur
  • Olivier Jaquemet