# Configuration des serveurs LDAP

Cette section décrit le tableau de configuration des différents serveurs LDAP utilisés par l'application. Ce tableau contient lui même un tableau par serveur LDAP.

    Structure...
    $GLOBALS['LSconfig'] = array(
      ...
      'ldap_servers' => array(
        array (
          'name' => [nom de l'annuaire],
          'ldap_config'=> array(
            // Définition des paramètres de connexion à l'annuaire
          ),
          'useUserCredentials' => [boolean],
          'LSauth' => array (
            'method' => [LSauth method],
            'api_method' => [LSauth method],
            'LSobjects' => array(
              '[object type 1]',
              '[object type 2]' => array(
                'filter' => '[LDAP filter]',
                'password_attribute' => '[attribute name]',
                'web_access' => [booléen],
                'api_access' => [booléen],
              )
            )
          ),
          'LSprofiles' => array (
            // Définition des LSprofiles
          ),
          'cacheLSprofiles' => [boolean],
          'cacheSearch' => [boolean],
          'globalSearch' => [boolean],
          'LSaccess' => array (
            [Type LSobject 1],
            [Type LSobject 2],
            ...
          ),
          'subDn' => array(
            // Définition des sous-niveaux de l'annuaire
          ),
          'subDnLabel' => [nom des sous-niveaux],
          'recoverPassword' => array(
            // Définition des paramètres de configuration de la récupération de mot de passe
          ),
          'defaultView' => [view],
          'emailSender' => [email],
          'keepLSsessionActive' => [booléen]
        )
      ...
    );
    ...

## Paramètres de configuration

name

  Le nom d'affichage de ce serveur Ldap (utilisé lorsque plusieurs serveur LDAP sont déclarés).

ldap_config

  Informations de connexion au serveur LDAP. Ces informations sont structurées selon les attentes de la librairie &netldap;. Plus d'informations

useUserCredentials

  Booléen définissant si il faut utiliser les identifiants de l'utilisateur pour se connecter à l'annuaire (false par défaut). Si cette option est activée, la connexion à l'annuaire LDAP sera établie avec la configuration fournie dans le paramètre ldap_config en écrasant les informations de connexion (binddn et bindpwd) par ceux de l'utilisateur. Si l'utilisateur n'est pas encore connecté, la connexion sera étalie sans modifier la configuration fournie.

LSprofiles

  Définition des profils d'utilisateurs se connectant à l'annuaire. Voir la section concernée.

LSauth

  Ce tableau défini les paramètres d'authentification à l'application.

  ## Paramètres de configuration de l'authentification

  method

    Nom de la méthode d'authentification &LSauthMethod;. Exemple : pour utiliser la classe `LSauthMethod_HTTP`, la valeur de ce paramètre sera `HTTP`. Paramètre facultatif, méthode par défaut : `basic`.

  api_method

    Nom de la méthode d'authentification &LSauthMethod; à utilisée lors d'une connexion à l'API. Exemple : pour utiliser la classe `LSauthMethod_HTTP`, la valeur de ce paramètre sera `HTTP`. Paramètre facultatif, méthode par défaut : `HTTP`.

    Toutes les &LSauthMethod; ne supportent pas forcément le mode API.

  LSobjects

    Tableau listant les types &LSobjects; pouvant se connecter à l'application. Les valeurs de ce tableau peuvent être un nom de type d'objet ou bien tableau détaillant les paramètres de connexion de ce type d'objet.

    ## Paramètres de configuration d'un type d'object

    filter

      &LSformat; du filtre de recherche de l'utilisateur à sa connexion. Ce format sera composé avec l'identifiant fourni par l'utilisateur. Cela peut par exemple permettre à l'utilisateur de se connecter en fournissant son login ou son email comme identifiant. Exemple de valeur : `(|(uid=%{user})(mail=%{user}))`. Paramètre facultatif, filtre par défaut composé à l'aide de l'attribut RDN.

    password_attribute

      Nom de l'attribut stockant le mot de passe de ce type d'&LSobject;. Paramètre facultatif, valeur par défaut : `userPassword`.

      C'est cet attribut de l'utilisateur qui sera modifié par la fonctionnalité de récupération de mot de passe.

    web_access

      Permet de définir si ce type d'objet à le droit d'utiliser l'interface web (facultatif, par défaut : `True`).

    api_access

      Permet de définir si ce type d'objet à le droit d'utiliser l'API (facultatif, par défaut : `False`).

  allow_multi_match

    Booléen permettant de définir si un doublon d'identifiant utilisateur est autorisé. Si c'est le cas et lorsqu'un identifiant fourni par l'utilisateur a sa connexion a permi de trouver plus d'un utilisateur possible correspondant, l'application tentera de déterminer lequel de ces utilisateurs correspond à la tentative d'authentification. La méthodologie employée dépendra de la &LSauthMethod; configurée. Par exemple, la &LSauthMethod; `basic` tentera de s'identifier avec le mot de passe. Dans tous les cas, si cette méthode n'a pas permi d'identifier un seul utilisateur, l'authentification échoura. Paramètre facultatif, valeur par défaut : `Faux`.

cacheLSprofiles

  Activation/Désactivation de la mise en cache des &LSprofiles; des utilisateurs connectés à ce serveur.

  Valeur par défaut : valeur de la variable globale du même nom

cacheSearch

  Activation/Désactivation de la mise en cache du résultat des recherches sur ce serveur.

  Valeur par défaut : valeur de la variable globale du même nom

globalSearch

  Activation/Désactivation de la recherche globale sur ce serveur en particulier. Par defaut, la valeur du paramètre global `globalSearch` est utilisée.

  Valeur par défaut : valeur de la variable globale du même nom

LSaccess

  Définition des types d'&LSobjects; devant apparaître dans le menu de l'interface.

  Ce paramètre n'est utilisé que pour les annuaires n'ayant pas de sous-niveaux (&subDn;).

subDn

  Définition des sous-niveaux de connexion à l'annuaire. Voir section concernée.

  Ce paramètre remplace le paramètre LSaccess dans le cas d'un annuaire multi-niveaux.

subDnLabel

  Définition du label utilisé pour qualifier les sous-niveaux de connexion.

  Ce paramètre est utile uniquement dans le cas d'un annuaire multi-niveaux.

recoverPassword

  Définition des paramètres de la récupération de mot de passe. Voir la section concernée.

defaultView

  Définition de la vue par défaut de l'application. Par défaut, une page blanche est affichée et il est possible de définir à l'aide de ce paramètre la vue qui s'affichera. Ce paramètre peut prendre comme valeur :

  - `SELF` pour la vue Mon compte

  - Le nom d'un &LSobject; pour afficher la liste de ce type d'objet

  - Le nom d'une vue d'un &LSaddon; au format `[addon]::[viewId]` pour afficher cette vue

emailSender

  Adresse mail utilisée par &LdapSaisie; pour envoyer des e-mails en relation avec cet annuaire. Cette adresse est celle utilisée par défaut. L'adresse utilisée peut également être configurée dans le contexte de configuration du module devant envoyer des e-mails.

keepLSsessionActive

  Activation/Désactivation du maintient de la LSsession active.

  Valeurs possibles : True ou False

  Valeur par défaut : valeur de la variable globale du même nom

&conf-LSprofile;

&conf-subDn;

&conf-recoverPassword;