<sect4 id="config-LSattr_ldap_password">
  <title>LSattr_ldap_password</title>
  <para>Ce type est utilisé pour la gestion des attributs dont la valeur est
  un mot de passe.</para>
  
  <programlisting linenumbering="unnumbered">
<citetitle>Structure</citetitle>...
<![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)]'
),]]>
...
</programlisting>

<variablelist>
<title>Paramètres de configuration</title>

<varlistentry>
  <term>encode</term>
  <listitem>
    <para>Nom du type d'encodage du mot de passe utilisé. Les types d'encodages
    supportés sont les suivants :
    <itemizedlist>
      <listitem><simpara><literal>argon2</literal> (ou <literal>argon2i</literal>, PHP >= 7.2)</simpara></listitem>
      <listitem><simpara><literal>argon2id</literal> (PHP >= 7.3)</simpara></listitem>
      <listitem><simpara><literal>md5crypt</literal></simpara></listitem>
      <listitem><simpara><literal>crypt</literal></simpara></listitem>
      <listitem><simpara><literal>ext_des</literal></simpara></listitem>
      <listitem><simpara><literal>blowfish</literal></simpara></listitem>
      <listitem><simpara><literal>sha</literal></simpara></listitem>
      <listitem><simpara><literal>sha256</literal></simpara></listitem>
      <listitem><simpara><literal>sha512</literal></simpara></listitem>
      <listitem><simpara><literal>ssha</literal></simpara></listitem>
      <listitem><simpara><literal>ssha256</literal></simpara></listitem>
      <listitem><simpara><literal>ssha512</literal></simpara></listitem>
      <listitem><simpara><literal>smd5</literal></simpara></listitem>
      <listitem><simpara><literal>md5</literal></simpara></listitem>
      <listitem><simpara><literal>clear</literal></simpara></listitem>
    </itemizedlist>
    <note><simpara>Valeur par défaut : <literal>md5crypt</literal></simpara></note>
    <important><simpara>Si le type d'encodage est inconnu, ou qu'il n'est pas 
    supporté par le serveur web, un message d'erreur alertera l'utilisateur et le
    mot de passe sera stocké en clair.</simpara></important>
    </para>
  </listitem>
</varlistentry>

<varlistentry>
  <term>encode_function</term>
  <listitem>
    <para>Nom d'une function qui sera utilisée afin d'encoder le mot de passe.
    Cette fonction recevra deux paramètres : le <literal>LSldapObject</literal>
    et le mot de passe en clair.</para>
  </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>
    <simpara>Désactivation de l'utilisation d'une salt générée aléatoirement au
    profit de l'utilisation des deux premiers caractères du mot de passe.
    Ce paramètre impacte uniquement le type de cryptage <literal>crypt</literal>.
    </simpara>
  </listitem>
</varlistentry>

<varlistentry>
  <term>wildcardPassword</term>
  <listitem>
    <simpara>Mot de passe (ou tableau de mot de passe) qui sera ajouté systématiquement,
    en plus du mot de passe choisi. Il sera encodé de la même manière que pour le mot de
    passe choisi avant enregistrement.</simpara>
  </listitem>
</varlistentry>

<varlistentry>
  <term>encodedWildcardPassword</term>
  <listitem>
    <simpara>Mot de passe (ou tableau de mot de passe) qui sera ajouté systématiquement,
    en plus du mot de passe choisi. Contrairement à la directive 
    <parameter>wildcardPassword</parameter>, le mot de passe ne sera pas encodé avant
    enregistrement.</simpara>
    <note><simpara>Cette directive peut cohabiter avec sa cousine <parameter>wildcardPassword</parameter>. Les mot de passes contenus dans les deux directives seront alors ajoutés.</simpara></note>
  </listitem>
</varlistentry>

</variablelist>
  
  
</sect4>
