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]
    )
  ...
);
...
- 
nameLe nom d'affichage de ce serveur Ldap (utilisé lorsque plusieurs serveur LDAP sont déclarés).
 
- 
ldap_configInformations de connexion au serveur LDAP. Ces informations sont structurées selon les attentes de la librairie Net_LDAP2. Plus d'informations
 
- 
useUserCredentialsBoolé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.
 
- 
useAuthzProxyControlBoolé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.
 
- 
LSprofilesDéfinition des profils d'utilisateurs se connectant à l'annuaire. Voir la section concernée.
 
- 
LSauthCe tableau défini les paramètres d'authentification à l'application.
- 
methodNom de la méthode d'authentification LSauthMethod. Exemple : pour utiliser la classe
LSauthMethod_HTTP, la valeur de ce paramètre seraHTTP. Paramètre facultatif, méthode par défaut :basic. 
- 
api_methodNom 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 seraHTTP. Paramètre facultatif, méthode par défaut :HTTP.Warning
Toutes les LSauthMethod ne supportent pas forcément le mode API.
 
- 
LSobjectsTableau 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.
- 
filterLSformat 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_functionCallable (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 retournertrueoufalsepour 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_attributeNom 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_accessPermet de définir si ce type d'objet à le droit d'utiliser l'interface web (facultatif, par défaut :
True). 
- 
api_accessPermet de définir si ce type d'objet à le droit d'utiliser l'API (facultatif, par défaut :
False). 
 - 
 
- 
allow_multi_matchBoolé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
basictentera 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. 
 - 
 
- 
cacheLSprofilesActivation/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
 
- 
cacheSearchActivation/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
 
- 
globalSearchActivation/Désactivation de la recherche globale sur ce serveur en particulier. Par défaut, la valeur du paramètre global
globalSearchest utilisée.Valeur par défaut : valeur de la variable globale du même nom
 
- 
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).
 
- 
subDnDé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.
 
- 
subDnLabelDé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.
 
- 
recoverPasswordDéfinition des paramètres de la récupération de mot de passe. Voir la section concernée.
 
- 
defaultViewDé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 :
SELFpour 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 
 
- 
emailSenderAdresse 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.
 
- 
keepLSsessionActiveActivation/Désactivation du maintient de la LSsession active.
Valeurs possibles :
TrueouFalseValeur par défaut : valeur de la variable globale du même nom