diff --git a/doc/conf/srv-ldap.docbook b/doc/conf/srv-ldap.docbook index 21bc2740..ec4a83be 100644 --- a/doc/conf/srv-ldap.docbook +++ b/doc/conf/srv-ldap.docbook @@ -17,6 +17,7 @@ serveur LDAP. // Définition des paramètres de connexion à l'annuaire ), 'useUserCredentials' => [boolean], + 'useAuthzProxyControl' => [boolean], 'LSauth' => array ( 'method' => [LSauth method], 'api_method' => [LSauth method], @@ -95,6 +96,19 @@ serveur LDAP. + + 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 diff --git a/src/includes/class/class.LSldap.php b/src/includes/class/class.LSldap.php index 0e751cb1..44af0772 100644 --- a/src/includes/class/class.LSldap.php +++ b/src/includes/class/class.LSldap.php @@ -104,6 +104,38 @@ class LSldap extends LSlog_staticLoggerClass { return true; } + /** + * Set authz proxy control + * + * @author Benjamin Renard + * + * @param[in] $dn string Bind DN + * + * @retval boolean true if authz proxy controle is set, false otherwise + */ + public static function setAuthzProxyControl($dn) { + if (!self :: $cnx) { + self :: connect(); + } + $result = self :: $cnx -> setOption( + 'LDAP_OPT_SERVER_CONTROLS', + array ( + array( + 'oid' => '2.16.840.1.113730.3.4.18', + 'value' => "dn:$dn", + 'iscritical' => true + ) + ) + ); + // Also check user exists to validate the connection with + // authz proxy control. + if ($result !== True || !self :: exists($dn)) { + LSerror :: addErrorCode('LSldap_09'); + return False; + } + return True; + } + /** * Déconnection * @@ -602,3 +634,6 @@ LSerror :: defineError('LSldap_07', LSerror :: defineError('LSldap_08', ___("LSldap: LDAP server base DN not configured.") ); +LSerror :: defineError('LSldap_09', + ___("LSldap: Fail to set authz proxy option on LDAP server connection.") +); diff --git a/src/includes/class/class.LSsession.php b/src/includes/class/class.LSsession.php index 61d9c9bc..e6ffda90 100644 --- a/src/includes/class/class.LSsession.php +++ b/src/includes/class/class.LSsession.php @@ -817,20 +817,33 @@ class LSsession { self :: $LSuserObjectType = $LSuserObject -> getType(); self :: $dn = $LSuserObject->getValue('dn'); self :: $rdn = $LSuserObject->getValue('rdn'); - if (isset(self :: $ldapServer['useUserCredentials']) && self :: $ldapServer['useUserCredentials']) { - self :: $userLDAPcreds = LSauth :: getLDAPcredentials($LSuserObject); - if (!is_array(self :: $userLDAPcreds)) { - LSerror :: addErrorCode('LSsession_14'); - self :: $userLDAPcreds = false; - return; + if ( + isset(self :: $ldapServer['useUserCredentials']) && + self :: $ldapServer['useUserCredentials'] + ) { + if ( + isset(self :: $ldapServer['useAuthzProxyControl']) && + self :: $ldapServer['useAuthzProxyControl'] + ) { + if (!LSldap :: setAuthzProxyControl(self :: $dn)) { + return; + } } - if (!LSldap :: reconnectAs( - self :: $userLDAPcreds['dn'], - self :: $userLDAPcreds['pwd'], - self :: $ldapServer['ldap_config'] - )) { - LSerror :: addErrorCode('LSsession_15'); - return; + else { + self :: $userLDAPcreds = LSauth :: getLDAPcredentials($LSuserObject); + if (!is_array(self :: $userLDAPcreds)) { + LSerror :: addErrorCode('LSsession_14'); + self :: $userLDAPcreds = false; + return; + } + if (!LSldap :: reconnectAs( + self :: $userLDAPcreds['dn'], + self :: $userLDAPcreds['pwd'], + self :: $ldapServer['ldap_config'] + )) { + LSerror :: addErrorCode('LSsession_15'); + return; + } } } self :: loadLSprofiles(); @@ -1295,11 +1308,26 @@ class LSsession { self :: $dn && isset(self :: $ldapServer['useUserCredentials']) && self :: $ldapServer['useUserCredentials'] ) { - LSldap :: reconnectAs( - self :: $userLDAPcreds['dn'], - self :: $userLDAPcreds['pwd'], - self :: $ldapServer['ldap_config'] - ); + if ( + isset(self :: $ldapServer['useAuthzProxyControl']) && + self :: $ldapServer['useAuthzProxyControl'] + ) { + // Firstly connect using main config and after, set authz proxy control + if ( + !LSldap :: connect(self :: $ldapServer['ldap_config']) || + !LSldap :: setAuthzProxyControl(self :: $dn) + ) { + LSerror :: addErrorCode('LSsession_15'); + return; + } + } + else { + LSldap :: reconnectAs( + self :: $userLDAPcreds['dn'], + self :: $userLDAPcreds['pwd'], + self :: $ldapServer['ldap_config'] + ); + } } else { LSldap :: connect(self :: $ldapServer['ldap_config']); diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 9e734450..1323a993 100644 Binary files a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo and b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo differ diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po index 83f012d2..e477cd1b 100644 --- a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po +++ b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: LdapSaisie\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2021-08-25 18:02+0200\n" +"PO-Revision-Date: 2021-08-26 19:59+0200\n" "Last-Translator: Benjamin Renard \n" "Language-Team: LdapSaisie \n" @@ -1099,48 +1099,48 @@ msgstr "Copier dans le presse-papier" msgid "Copied!" msgstr "Copié !" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1504 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1532 msgid "Connection" msgstr "Connexion" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1524 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1552 msgid "Recovery of your credentials" msgstr "Récupération de votre mot de passe" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1533 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1561 msgid "Please fill the identifier field to proceed recovery procedure" msgstr "" "Merci d'entrer votre identifiant pour poursuivre la procédure de récupération" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1538 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1566 msgid "" "An email has been sent to %{mail}. Please follow the instructions on it." msgstr "" "Un e-mail vient de vous être envoyé à l'adresse %{mail}. Merci de suivre les " "indications qu'il contient." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1547 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1575 msgid "Your new password has been sent to %{mail}." msgstr "Votre nouveau mot de passe vous a été envoyé à l'adresse %{mail}." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1717 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1745 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:156 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:467 #: templates/default/select.tpl:29 msgid "Refresh" msgstr "Rafraîchir" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2811 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2839 #: templates/default/select.tpl:20 templates/default/recoverpassword.tpl:17 #: templates/default/login.tpl:16 msgid "Level" msgstr "Niveau" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2979 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3007 msgid "LSsession : The constant '%{const}' is not defined." msgstr "LSsession : La constante '%{const}' n'est pas définie." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2982 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3010 msgid "" "LSsession : The addon '%{addon}' support is uncertain. Verify system " "compatibility and the add-on configuration." @@ -1148,53 +1148,53 @@ msgstr "" "LSsession : Le support de l'addon '%{addon}' est incertain. Vérifiez la " "compatibilité du système et la configuration de l'add-on." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2985 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3013 msgid "" "LSsession : LDAP server's configuration data are invalid. Can't connect." msgstr "" "LSsession : Les données de configuration du serveur LDAP sont invalide. " "Impossible de s'y connecter." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2988 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3016 msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type." msgstr "" "LSsession : Impossible de charger le type d'LSobject '%{type}' : type " "inconnu." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2991 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3019 msgid "LSsession : Failed to load LSclass '%{class}'." msgstr "LSsession : Impossible de charger la LSclass '%{class}'." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2994 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3022 msgid "LSsession : Login or password incorrect." msgstr "LSsession : Identifiant ou mot de passe incorrects." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2997 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3025 msgid "LSsession : Impossible to identify you : Duplication of identities." msgstr "LSsession : Impossible de vous identifier : Duplication d'identité." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3000 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3028 msgid "LSsession : Can't load class of authentification (%{class})." msgstr "" "LSsession : Impossible de charger la classe d'authentification (%{class})." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3003 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3031 msgid "LSsession : Can't connect to LDAP server." msgstr "LSsession : Impossible de se connecter au serveur LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3006 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3034 msgid "LSsession : Impossible to authenticate you." msgstr "LSsession : Impossible de vous identifier." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3009 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3037 msgid "LSsession : Your are not authorized to do this action." msgstr "LSsession : Vous n'êtes pas autorisé à faire cette action." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3012 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3040 msgid "LSsession : Some informations are missing to display this page." msgstr "LSsession : Des informations sont manquant pour afficher cette page." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3015 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3043 msgid "" "LSsession : The function '%{function}' of the custom action " "'%{customAction}' does not exists or is not configured." @@ -1202,24 +1202,24 @@ msgstr "" "LSsession : La fonction '%{function}' de l'action personnalisée " "'%{customAction}' n'existe pas ou n'est pas configurée." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3018 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3046 msgid "LSsession : Fail to retrieve user's LDAP credentials from LSauth." msgstr "" "LSsession : Erreur en récupérant les identifiants LDAP de l'utilisateur " "depuis LSauth." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3021 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3049 msgid "" "LSsession : Fail to reconnect to LDAP server with user's LDAP credentials." msgstr "" "LSsession : Impossible de se reconnecter au serveur LDAP avec les " "identifiants de l'utilisateur." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3024 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3052 msgid "LSsession : No import/export format define for this object type." msgstr "LSsession : Aucun format d'entrée/sortie définie pour ce type d'objet." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3027 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3055 msgid "" "LSsession : Error during creation of list of levels. Contact administrators. " "(Code : %{code})" @@ -1227,13 +1227,13 @@ msgstr "" "LSsession : Erreur durant la création de la liste des niveaux. Contacter les " "administrateurs. (Code : %{type})" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3030 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3058 msgid "LSsession : The password recovery is disabled for this LDAP server." msgstr "" "LSsession : La récupération de mot de passe est désactivée pour ce serveur " "LDAP." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3033 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3061 msgid "" "LSsession : Some informations are missing to recover your password. Contact " "administrators." @@ -1241,7 +1241,7 @@ msgstr "" "LSsession : Des informations sont manques pour pouvoir récupérer votre mot " "de passe. Contacter les administrateurs." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3036 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3064 msgid "" "LSsession : Error during password recovery. Contact administrators.(Step : " "%{step})" @@ -1249,7 +1249,7 @@ msgstr "" "LSsession : Erreur durant la récupération de votre mot de passe. Contacter " "les administrateurs. (Etape : %{step})" -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3039 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3067 msgid "" "LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSaddon '%{addon}' is not declared in the LSaddon file." @@ -1257,11 +1257,11 @@ msgstr "" "LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du " "LSaddon '%{addon}' n'est pas déclaré dans le fichier du LSaddon." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3042 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3070 msgid "LSsession : Failed to load resource file '%{file}'." msgstr "LSsession : Impossible de charger le fichier de ressource '%{file}'." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3045 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3073 msgid "" "LSsession : The function '%{func}' configured for the view '%{view}' of the " "LSaddon '%{addon}' doesn't exist." @@ -1269,11 +1269,11 @@ msgstr "" "LSsession : la fonction '%{func}' configurée pour la vue '%{view}' du " "LSaddon '%{addon}' n'existe pas." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3048 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3076 msgid "LSsession : invalid related object's DN pass in parameter." msgstr "LSsession : DN d'objet en relation incorrect dans les paramètres." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3051 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3079 msgid "" "LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please " "upgrade it." @@ -1281,7 +1281,7 @@ msgstr "" "LSsession : le LSaddon %{addon} utilise toujours l'ancien type d'URL de " "vues. Merci de le mettre à jour." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3054 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3082 msgid "" "LSsession : You have been redirect from an old-style URL %{url}. Please " "upgrade this link." @@ -1289,7 +1289,7 @@ msgstr "" "LSsession : Vous avez été redirigé depuis une ancienne URL %{url}. Merci de " "le mettre à jour ce lien." -#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3057 +#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3085 msgid "" "LSsession : You always seem to use %{old} in your custom code: Please " "upgrade it and use %{new}.
\n"
@@ -1592,38 +1592,44 @@ msgstr ""
 "LSformRule_password : Regex invalide configurée : %{regex}. Vous devez "
 "utiliser des regex de type PCRE (commencant par le caractère '/')."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:582
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:612
 msgid "LSldap: Error during the LDAP server connection (%{msg})."
 msgstr "LSldap : Erreur durant la connexion au serveur LDAP (%{msg})."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:585
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:615
 msgid "LSldap: Error during the LDAP search (%{msg})."
 msgstr "LSldap : Erreur pendant la recherche LDAP (%{msg})."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:588
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:618
 msgid "LSldap: Object type unknown."
 msgstr "LSldap : Type d'objet inconnu."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:591
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:621
 msgid "LSldap: Error while fetching the LDAP entry."
 msgstr "LSldap : Erreur durant la récupération de l'entrée LDAP."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:594
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:624
 msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})."
 msgstr "LSldap : Erreur durant la modification de l'entrée LDAP (DN : %{dn})."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:597
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:627
 msgid "LSldap: Error while deleting empty attributes."
 msgstr "LSldap : Erreur durant la suppression des attributs vides."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:600
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:630
 msgid "LSldap: Error while changing the DN of the object."
 msgstr "LSldap : Erreur pendant la modification du DN de l'objet."
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:603
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:633
 msgid "LSldap: LDAP server base DN not configured."
 msgstr "LSldap : Le base DN du serveur LDAP n'est pas configuré."
 
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:636
+msgid "LSldap: Fail to set authz proxy option on LDAP server connection."
+msgstr ""
+"LSldap : Une erreur est survenue en appliquant l'option d'authz proxy sur la "
+"connexion au serveur LDAP."
+
 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:59
 msgid "Invalid LDAP server URI (%{uri})"
 msgstr "URI de serveur LDAP invalide (%{uri})"
diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot
index 94ba9bda..5332c8fc 100644
--- a/src/lang/ldapsaisie.pot
+++ b/src/lang/ldapsaisie.pot
@@ -934,165 +934,165 @@ msgstr ""
 msgid "Copied!"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1504
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1532
 msgid "Connection"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1524
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1552
 msgid "Recovery of your credentials"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1533
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1561
 msgid "Please fill the identifier field to proceed recovery procedure"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1538
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1566
 msgid ""
 "An email has been sent to  %{mail}. Please follow the instructions on it."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1547
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1575
 msgid "Your new password has been sent to %{mail}."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1717
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:1745
 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:156
 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/routes.php:467
 #: templates/default/select.tpl:29
 msgid "Refresh"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2811
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2839
 #: templates/default/select.tpl:20 templates/default/recoverpassword.tpl:17
 #: templates/default/login.tpl:16
 msgid "Level"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2979
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3007
 msgid "LSsession : The constant '%{const}' is not defined."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2982
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3010
 msgid ""
 "LSsession : The addon '%{addon}' support is uncertain. Verify system "
 "compatibility and the add-on configuration."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2985
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3013
 msgid ""
 "LSsession : LDAP server's configuration data are invalid. Can't connect."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2988
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3016
 msgid "LSsession : Failed to load LSobject type '%{type}' : unknon type."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2991
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3019
 msgid "LSsession : Failed to load LSclass '%{class}'."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2994
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3022
 msgid "LSsession : Login or password incorrect."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:2997
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3025
 msgid "LSsession : Impossible to identify you : Duplication of identities."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3000
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3028
 msgid "LSsession : Can't load class of authentification (%{class})."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3003
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3031
 msgid "LSsession : Can't connect to LDAP server."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3006
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3034
 msgid "LSsession : Impossible to authenticate you."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3009
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3037
 msgid "LSsession : Your are not authorized to do this action."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3012
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3040
 msgid "LSsession : Some informations are missing to display this page."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3015
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3043
 msgid ""
 "LSsession : The function '%{function}' of the custom action "
 "'%{customAction}' does not exists or is not configured."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3018
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3046
 msgid "LSsession : Fail to retrieve user's LDAP credentials from LSauth."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3021
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3049
 msgid ""
 "LSsession : Fail to reconnect to LDAP server with user's LDAP credentials."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3024
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3052
 msgid "LSsession : No import/export format define for this object type."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3027
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3055
 msgid ""
 "LSsession : Error during creation of list of levels. Contact administrators. "
 "(Code : %{code})"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3030
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3058
 msgid "LSsession : The password recovery is disabled for this LDAP server."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3033
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3061
 msgid ""
 "LSsession : Some informations are missing to recover your password. Contact "
 "administrators."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3036
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3064
 msgid ""
 "LSsession : Error during password recovery. Contact administrators.(Step : "
 "%{step})"
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3039
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3067
 msgid ""
 "LSsession : The function '%{func}' configured for the view '%{view}' of the "
 "LSaddon '%{addon}' is not declared in the LSaddon file."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3042
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3070
 msgid "LSsession : Failed to load resource file '%{file}'."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3045
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3073
 msgid ""
 "LSsession : The function '%{func}' configured for the view '%{view}' of the "
 "LSaddon '%{addon}' doesn't exist."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3048
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3076
 msgid "LSsession : invalid related object's DN pass in parameter."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3051
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3079
 msgid ""
 "LSsession : the LSaddon %{addon} keep using old-style addon view URL. Please "
 "upgrade it."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3054
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3082
 msgid ""
 "LSsession : You have been redirect from an old-style URL %{url}. Please "
 "upgrade this link."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3057
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSsession.php:3085
 msgid ""
 "LSsession : You always seem to use %{old} in your custom code: Please "
 "upgrade it and use %{new}.
\n"
@@ -1327,38 +1327,42 @@ msgid ""
 "(begining by '/' caracter)."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:582
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:612
 msgid "LSldap: Error during the LDAP server connection (%{msg})."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:585
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:615
 msgid "LSldap: Error during the LDAP search (%{msg})."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:588
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:618
 msgid "LSldap: Object type unknown."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:591
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:621
 msgid "LSldap: Error while fetching the LDAP entry."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:594
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:624
 msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:597
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:627
 msgid "LSldap: Error while deleting empty attributes."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:600
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:630
 msgid "LSldap: Error while changing the DN of the object."
 msgstr ""
 
-#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:603
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:633
 msgid "LSldap: LDAP server base DN not configured."
 msgstr ""
 
+#: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSldap.php:636
+msgid "LSldap: Fail to set authz proxy option on LDAP server connection."
+msgstr ""
+
 #: /home/brenard/dev/ldapsaisie_clean3/src/includes/class/class.LSformRule_ldapSearchURI.php:59
 msgid "Invalid LDAP server URI (%{uri})"
 msgstr ""