Connexion LDAP

Maarch Courrier permet d'exploiter un annuaire de type ADLDAP ou OPENLDAP afin de centraliser la gestion des utilisateurs.

Deux niveaux d'exploitation possibles:

  • Authentification LDAP, la vérification des mots de passe des utilisateurs se fait dans l'annuaire dans ce cas.
  • Synchronisation des données de l'annuaire dans la base Maarch

Il est préférable, dans un premier temps, de paramétrer uniquement l'authentification LDAP.
La synchronisation LDAP nécessitant beaucoup plus de temps à mettre en place car elle est dépendante de la maturité d'organisation de votre annuaire.

Prérequis

Il est important d'avoir un annuaire cohérent et à jour. Notamment pour la synchronisation. Cela peut alourdir inutilement l'application Maarch .

Seuls les Active Directory (ADLDAP ou OPENLDAP) sont pris en compte.

Fonctionnement général

Le module ldap de Maarch permet de configurer les éléments de l'AD. Un script (à exécuter en tâche planifiée) permet de récupérer le contenu de l'annuaire et l'intègre dans la base de données Maarch.

Ce processus synchronise les utilisateurs et les entités depuis un serveur AD.

La mise en place de la synchronisation peut-être intéressante si vous avez beaucoup d'utilisateurs à gérer dans Maarch Courrier et/ou si vous souhaitez uniformiser les mots de passe des utilisateurs avec d'autres applications connectées.

Authentification LDAP

Principes

Pour ce 1er mode, le processus est schématisé comme ceci : Authentification

  • Demande à la base de données Maarch si l'utilisateur existe. L'identifiant de l'utilisateur dans Maarch doit être identique à celui de l'AD.
  • Si l'utilisateur existe dans Maarch et dans l'AD, la communication avec l'annuaire est faite pour vérifier le mot de passe renseigné par l'utilisateur.

Paramétrage

Le module ldap se situe dans le dossier modules/ldap/.

Le fichier de configuration se situe ici : modules/ldap/xml/config.xml.default
Ce fichier est à copier dans le répertoire idoine de votre custom, par exemple : custom/IDCUSTOM/modules/ldap/xml/config.xml**

Voici la partie à configurer :

    <config>
        <ldap>
            <type_ldap>adLDAP</type_ldap>
            <domain>192.168.1.1</domain>
            <baseDN></baseDN>
            <prefix_login>MAARCH</prefix_login>
            <suffix_login>@maarch-les-bains.com</suffix_login>
            <ssl>false</ssl>
            <standardConnect>false</standardConnect>
            <login_admin>Administrateur</login_admin>
            <pass>ThePassword</pass>
        </ldap>
    </config>
  • type_ldap : defini l'annuaire utilisé (ADLAP ou OPENLDAP)
  • domain : adresse ip de l'annuaire
  • baseDN : base DN (utilisé uniquement pour openLDAP, laisser vide si adLDAP) (ex : DC=maarch,DC=com)
  • prefix_login : préfixe utilisé pour les connexions. Généralement le nom du domaine. Ex : WORKGROUP\user
  • suffix_login : suffixe utilisé pour les connexions.
  • ssl : true, si un cryptage ssl est actif
  • standardConnect : si true, permet de se connecter à l'application même si le serveur ldap est injoignable
  • login_admin : compte utiliser pour visualiser l'annuaire (obligatoire pour la synchro)
  • pass : mot de passe du compte (obligatoire pour la synchro)

Pour ajouter un ou plusieurs serveurs LDAP en série, il suffit de dupliquer la balise ldap et son contenu, et de remplir avec la configuration du ou des serveurs en plus.

    <config>
        <ldap>
            configuration premier serveur
        </ldap>
        <ldap>
            configuration second serveur
        </ldap>
        <ldap>
            configuration troisième serveur
        </ldap>
            .
            .
            .
    </config>

L'application tentera alors de se connecter via le premier serveur LDAP puis le second et ainsi de suite jusqu'à la réussite de la connexion sur l'un des serveurs ou le refus de tous.

Le mode d'authentification est à préciser dans la configuration des méthodes de connexion de Maarch.
Pour cela, il suffit de passer la balise enabled à true pour la méthode LDAP du fichier de configuration dans le fichier custom/IDCUSTOM/config/login_method.xml

Synchronisation LDAP

Principes

Dans ce 2ème mode, les données utilisateurs vont être extraites de l'AD pour les intégrées dans la base de données Maarch.
Cela va se faire grâce au script bin/ldap/synchronization.sh (à mettre sous forme de tâche planifiée) .

Il est à noter que pour les utilisateurs, les identifiant, nom, prénom, téléphone, et email ne peuvent avoir qu’une seule valeur. Si un utilisateur dispose dans l’annuaire de plusieurs numéros de téléphone ou de plusieurs adresses email par exemple, seule la première valeur sera conservée dans Maarch Courrier.

Paramétrage

En plus du paramétrage de la connexion LDAP vu précédemment, il faut définir certaines informations dans le fichier de configuration :

Les informations du compte de WebService défini dans MaarchCourrier :

   <userWS>superadmin</userWS>
   <passwordWS>superadmin</passwordWS>

Les synchronisations à effectuer :

   <synchronizeUsers>true</synchronizeUsers>
   <synchronizeEntities>true</synchronizeEntities>

Le mapping à effectuer :

    <mapping>
        <user>
            <user_id>samaccountname</user_id>
            <firstname>givenname</firstname>
            <lastname>sn</lastname>
            <phone>telephonenumber</phone>
            <mail>mail</mail>
            <user_entity>memberof</user_entity>
            <defaultEntity>PJS</defaultEntity>
        </user>
        <entity>
            <entity_id>objectguid</entity_id>
            <entity_label>samaccountname</entity_label>
            <parent_entity_id>memberof</parent_entity_id>
        </entity>
    </mapping>

La balise <user_entity> permet de lier un utilisateur à une entité. Balise optionnelle.
La balise <defaultEntity> permet de spécifier une entité dans le cas où l'entité dans la balise <user_entity> n'existe pas. Balise optionnelle.

Les noeuds de l'AD qu'on souhaite récupérer :

    <filter>
        <dn id="OU=Utilisateurs,OU=Maarch-les-Bains,DC=maarch,DC=com" type="users">
             <user>(cn=*)</user>
        </dn>
        <dn id="OU=Services,OU=Maarch-les-Bains,DC=maarch,DC=com" type="entities">
             <user>(cn=*)</user>
        </dn>
    </filter>

Utilisateurs

Entités

results matching ""

    No results matching ""