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.
-
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.
-
method
Nom 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_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 seraHTTP
. 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 retournertrue
oufalse
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
-
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.
-
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
ouFalse
Valeur par défaut : valeur de la variable globale du même nom