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... 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] ) ... );]]> ... 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. 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. 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. 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. 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. 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;