Auth LDAP SCENARIsuite

Bonjour,
Je travaille sur la migration d’un SCENARIserver 4.2 vers SCENARIsuite 5.
Je cherche à transposer la configuration ldap mais j’ai un peu de mal pour le moment à aborder la configuration avec la méthode authByDn de SCserver4.2 en SCsuite 5 à partir de la documentation, je ne retrouve plus le type d’auth=simple ou la méthode authByDn.

Avez-vous des éléments qui me permettraient d’essayer ?

Merci !

Si besoin, voici la config qui marche en SCserver 4.2, mais vous n’avez pas besoin de me faire une réponse sur mesure, je peux probablement m’en sortir à partir d’une consigne générique :

/* (...)
 *      [!~~ Technique d'authentification : à ne pas changer en principe. ~~]
 *    [envContext key="java.naming.security.authentication" value="simple"/]
 *    
 *    [!~~ Application d'une regExp sur le compte du user avant transmission au Ldap. ~~]
 *    [transformAccount pattern="" replaceBy=""/]
 *    
 *      [!~~ Authentification par Search. Dans les pattern pour le baseName et la requete, possibilité de placer :
 *              {0} pour le compte d'authentification.
 *              {1} pour le mot de passe.
 *      ~~]
 *    [authBySearch searchPattern="(&(objectClass=Person)(|(sn={0})(givenName={0})))" 
 *                  baseNamePattern="o=xxx" 
 *                  checkAuthOnDnResult="true"
 *                  scope="oneLevel"] [!~~ oneLevel, subtree, object ~~]
 *        [!~~ Compte pour effectuer la recherche. ~~]
 *      [envContext key="java.naming.security.principal" value="scenariPrincipal"/]
 *        [!~~ Mot de passe pour effectuer la recherche. ~~]
 *      [envContext key="java.naming.security.credentials" value="passWord"/]
 *    [/authBySearch]
 *    
 *      [!~~ AUTRE POSSIBILITE A LA PLACE DE [authBySearch/] : Authentification directe par DN. ~~]
 *    [authByDn dnPattern="uid={0},ou=people,dc=univ,dc=fr"/]
 */

(...)
       <authMethod type="eu.scenari.userodb.authmethod.ldap.AuthMethodLdapLoader" code="remote">
                <!-- Implementation du fournisseur de context. -->
                <envContext key="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
                <!-- Url principale et alternatives pour la conection au serveur LDAP. -->
                <envContext key="java.naming.provider.url" value="ldaps://serveurldap.monuniv.fr:636"/>
                <!-- Technique d'authentification : à ne pas changer en principe. -->
                    <envContext key="java.naming.security.authentication" value="simple"/>

                <!-- Authentification par Search. Dans les pattern pour le baseName et la requete, possibilité de placer :
                        {0} pour le compte d'authentification.
                        {1} pour le mot de passe.
                        -->

                <envContext key="java.naming.security.principal" value="cn=admin,dc=nodomain"/>
                <envContext key="java.naming.security.credentials" value="xxx"/>

                <authByDn dnPattern="uid={0},ou=people,dc=monuniv,dc=fr"/>
        </authMethod>
(...)

Et une commande que j’utilise pour vérifier :

ldapsearch -x -D "uid=${LDAPUSER},ou=People,dc=monuniv,dc=fr" -W -H ldaps://serveurldap.monuniv.fr:636 -b "ou=people,dc=monuniv,dc=fr" "uid=${LDAPUSER}"

Bonjour Stéphane (@stephanep),

Je suis également en train de faire des essais pour protéger un dépôt avec LemonLDAP, cependant je rencontre un certain nombre de bugs avec les versions RC et nightly de la branche SC5.0 des « .scwsp » et « .tgz » lors des compilations/pré-compilations et l’impossibilité de déployer les « .war » dans jetty et tomcat, avec des bugs différents dans les deux cas. De plus, il me faut patcher le code après installation si j’utilise les « .deb » avec une configuration correcte de NGINX vue qu’on a pas accès à un dépôt src-deb pour re-packager les paquets debian.

  1. où en-es tu de tes propres essais ? Peux-tu partager tes résultats ?
  2. Avec quels codes source fais-tu tes essais? utilises-tu seulement les paquets .deb ou d’autres sources?

A+

XA

ok et merci pour ta réponse en MP, je poursuis mes tests de mon côté,

A+

XA

Bonjour,

Dans conf/users.properties de l’archive tgz/zip :

# LDAP [boolean]  : active / désactive les fonctions LDAP
user.ldap.disabled=false

# LDAP : Url principale (et alternatives) pour la connexion au serveur LDAP. ex: ldap://xxx.xxx.xxx.xxx:xxxx
user.ldap.url=ldaps://serveurldap.monuniv.fr:636

# LDAP : baseName de la recherche
user.ldap.baseNamePattern=ou=people,dc=monuniv,dc=fr

# LDAP : {0} pour le compte d'authentification; {1} pour le mot de passe
user.ldap.searchPattern=uid={0}

# LDAP : compte pour effectuer la recherche
user.ldap.searchAccount=

# LDAP : mot de passe pour effectuer la recherche
user.ldap.searchPassword=

Il faut bien sur que le certificat pour le LDAPS soit valide (CA qui as signé le certificat connu de Java et domain correspondant)

Si le LDAP n’est pas disponible en readonly pour tous (pour trouver le compte) il faudra mettre un compte de recherche et son password dans user.ldap.searchAccount et user.ldap.searchPassword.

Cordialement,