LSattr_ldap_password : Fix parameters pass to verify_function and add doc about it

This commit is contained in:
Benjamin Renard 2019-07-01 18:40:53 +02:00
parent b6f0605dac
commit 7845ba5a9c
2 changed files with 16 additions and 1 deletions

View file

@ -8,6 +8,7 @@
<![CDATA['ldap_options' => array (
'encode' => '[Type d'encodage du mot de passe]',
'encode_function' => '[Nom de la fonction d'encodage]',
'verify_function' => '[Nom de la fonction de vérification]',
'no_random_crypt_salt' => '[Booléen]', // Désactivation de l'utilisation d'une salt aléatoire
'wildcardPassword' => '[mot de passe(s) en clair]',
'encodedWildcardPassword' => '[mot de passe(s) encodé(s)]'
@ -55,6 +56,20 @@
</listitem>
</varlistentry>
<varlistentry>
<term>verify_function</term>
<listitem>
<para>Nom d'une function qui sera utilisée afin de valider un mot de passe
soumis par l'utilisateur par rapport à celui stocké dans l'annuaire. Cette
fonction recevra trois paramètres : le <literal>LSldapObject</literal>,le
mot de passe en clair et le mot de passe hashé. Si ce paramètre est omis
et que le paramètre <literal>encode_function</literal> est défini, le mot
de passe à tester sera encodé à nouveau à l'aide de la fonction
<literal>encode_function</literal> et le résultat sera comparé avec le mot
de passe stocké dans l'annuaire.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>no_random_crypt_salt</term>
<listitem>

View file

@ -261,7 +261,7 @@ class LSattr_ldap_password extends LSattr_ldap {
// Custom verify function configured ? If yes, use it
$verifyFunction = $this -> getConfig('ldap_options.verify_function', null);
if (!is_null($verifyFunction) && is_callable($verifyFunction))
return call_user_func($verifyFunction, $clearPassword, $hashedPassword);
return call_user_func_array($verifyFunction, array(&$this -> attribute -> ldapObject, $clearPassword, $hashedPassword));
// Custom encode function configured ? If yes, use it
$encodeFunction = $this -> getConfig('ldap_options.encode_function', null);