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}"