Aller au contenu

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.

$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],
      'useAuthzProxyControl' => [boolean],
      'LSauth' => array (
        'method' => [LSauth method],
        'api_method' => [LSauth method],
        'LSobjects' => array(
          '[object type 1]',
          '[object type 2]' => array(
            'filter' => '[LDAP filter]',
            'filter_function' => [callable],
            '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]
    )
  ...
);
...
  • 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 Net_LDAP2. 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.

  • useAuthzProxyControl

    Booléen définissant si, lorsqu'on utilise les identifiants de l'utilisateur pour se connecter à l'annuaire, il faut utiliser une authentification via proxy authorization. Dans ce cas, les identifiants de l'utilisateur ne seront pas, à proprement parlé, utilisés pour se connecter à l'annuaire, mais une demande de proxy authorization en tant que l'utilisateur connecté sera faites à l'aide des identifiants de l'application. Ce mode nécessite une configuration particulière au niveau de l'annuaire pour autoriser le compte de l'application à faire des demandes de proxy authorization en tant que les autres utilisateurs de l'annuaire.

  • LSauth

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

    • 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.

      Warning

      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.

      • 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.

      • filter_function

        Callable (au sens PHP) utilisé pour filtrer les utilisateurs trouvés dans l'annuaire à partir des autres paramètres : cette fonction, si elle est définie, sera appelée pour chaque utilisateur trouvé, avec pour unique paramètre, une référence à l'objet LDAP correspondant (LSldapObject). Cette méthode devra alors retourner true ou false pour respectivement autoriser ou interdire l'accès à l'application à l'utilisateur.

        Note

        Si un utilisateur est exclus par cette méthode et qu'aucun autre utilisateur correspondant n'a été trouvé dans l'annuaire, une page d'erreur sera affichée et indiquera que l'accès à l'application est refusée.

      • password_attribute

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

        Note

        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 cas, si cette méthode n'a pas permis d'identifier un seul utilisateur, l'authentification échoura. Paramètre facultatif, valeur par défaut : False.

  • 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 défaut, 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.

    Important

    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.

    Important

    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.

    Important

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

  • 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