<abbrtitle="LemonLDAP::NG">LL::NG</abbr> peut utiliser de nombreuses bases de données comme backend d'authentification, d'utilisateurs et de mots de passe :
Ainsi, tout <ahref="http://search.cpan.org/search?query=DBD%3A%3A&mode=module"class="urlextern"title="http://search.cpan.org/search?query=DBD%3A%3A&mode=module"rel="nofollow">driver Perl DBD</a> peut être utilisé.
</p>
</div><!-- EDIT4 SECTION "Drivers" [123-371] -->
<h3class="sectionedit5"id="schema">Schéma</h3>
<divclass="level3">
<p>
<abbrtitle="LemonLDAP::NG">LL::NG</abbr> peut utiliser deux tables :
</p>
<ul>
<liclass="level1"><divclass="li"> La table d'authentification : où les logins and et mots-de-passe sont stockés</div>
</li>
<liclass="level1"><divclass="li"> La table utilisateurs : où les données utilisateurs sont stockées (mail, nom, etc.)</div>
</li>
</ul>
<divclass="notetip">Les tables d'authentification et utilisateurs peuvent être confondues.
</div>
<p>
Le mot-de-passe peut être stocké en clair ou encodé avec une méthode SQL standard :
</p>
<ul>
<liclass="level1"><divclass="li"> SHA</div>
</li>
<liclass="level1"><divclass="li"> SHA1</div>
</li>
<liclass="level1"><divclass="li"> MD5</div>
</li>
</ul>
</div>
<h4id="example_1two_tables">Exemple 1 : deux tables</h4>
<abbrtitle="LemonLDAP::NG">LL::NG</abbr> exécutera quelques requêtes SQL :
</p>
<ul>
<liclass="level1"><divclass="li"> Authentification : selectionne la ligne de la table d'authentification contenant l'utilisateur et le mot-de-passe</div>
</li>
<liclass="level1"><divclass="li"> Recherche de l'utilisateur : selectionne la ligne de la table utilisateurs correspondant à l'utilisateur</div>
</li>
<liclass="level1"><divclass="li"> Changement de mot-de-passe : met à jour le champ mot-de-passe de la table d'authentification correspondant à l'utilisateur</div>
Dans le manager, aller dans <code>Paramètres généraux</code>><code>Modules d'authentification</code> et choisir "base de données" (<abbrtitle="Database Interface">DBI</abbr>) pour les modules authentification, utilisateurs et/ou mots-de-passe.
Le niveau d'authentification accordé aux utilisateurs authentifiés par ce module.
</p>
<divclass="noteimportant">Comme <abbrtitle="Database Interface">DBI</abbr> est un module de type login/mot-de-passe, le niveau d'authentification peut être :<ul>
<liclass="level1"><divclass="li"> augmenté (+1) si le portail est protégé par SSL (HTTPS)</div>
</li>
<liclass="level1"><divclass="li"> diminué (-1) si l'autocompletion est autorisée sur le portail (voir <ahref="portalcustom.html"class="wikilink1"title="documentation:2.0:portalcustom">Personnalisation du portail</a>)</div>
Liste de colonnes à interroger pour trouver la session utilisateur. Voir aussi la <ahref="exportedvars.html"class="wikilink1"title="documentation:2.0:exportedvars">configuration des variables exportées</a>.
<divclass="notetip">Les paramètres de connexion peuvent être configurés différemment pour les processus d'authentification et de recherche d'utilisateur. This allows one to use different databases for these process. Par défaut, si les paramètres de processus de connexion utilisateur sont vides , ceux d'authentification seront utilisés.
<liclass="level1"><divclass="li"><strong>Chaîne</strong> : chaîne <abbrtitle="Database Interface">DBI</abbr>, contenant le nom de driver et le nom de la base de données (par exemple : dbi:mysql:database=lemonldapng;host=localhost).</div>
</li>
<liclass="level1"><divclass="li"><strong>Utilisateur</strong> : compte de connexion</div>
</li>
<liclass="level1"><divclass="li"><strong>Mot-de-passe</strong> : mot-de-passe du compte de connexion</div>
<liclass="level1"><divclass="li"><strong>Table d'authentification</strong> : nom de la table d'authentification</div>
</li>
<liclass="level1"><divclass="li"><strong>Table utilisateurs</strong> : nom de la table utilisateurs</div>
</li>
<liclass="level1"><divclass="li"><strong>Nom du champ de compte</strong> : nom de la colonne de la table d'authentification contenant le login</div>
</li>
<liclass="level1"><divclass="li"><strong>Nom du champ mot-de-passe</strong> : nom de la colonne de la table d'authentification contenant le mot-de-passe</div>
</li>
<liclass="level1"><divclass="li"><strong>Nom du chmap mail</strong> : nom de la colonne de la table d'authentification contenant le mail (pour la réinitialisation du mot-de-passe)</div>
</li>
<liclass="level1"><divclass="li"><strong>Nom du champ login dans la table utilisateur</strong> : nom de la colonne de la table utilisateur contenant le login</div>
<liclass="level1"><divclass="li"><strong>Schéma de hachage</strong> : méthode SQL pour hacher les mots-de-passe. Peut être vide pour le stockage des mots-de-passe en clair.</div>
<liclass="level1"><divclass="li"><strong>Dynamic hash activation</strong>: Activate dynamic hashing. With dynamic hashing, the hash scheme is recovered from the user password in the database during authentication.</div>
</li>
<liclass="level1"><divclass="li"><strong>Supported non-salted schemes</strong>: List of whitespace separated hash schemes. Every hash scheme MUST match a non-salted hash function in the database. LemonLDAP::NG relies on this hashing function for computing user password hashes. These hashes MUST NOT be salted (no random data used in conjunction with the password).</div>
</li>
<liclass="level1"><divclass="li"><strong>Supported salted schemes</strong>: List of whitespace separated salted hash schemes, of the form “<strong>s</strong>scheme”, where scheme MUST match a non-salted hash function in the database. LemonLDAP::NG relies on this hashing function for computing user password hashes. Salted and non-salted scheme lists are not necessarily equivalent. (for example: non-salted=“sha256” and salted=“ssha ssha512” is valid)</div>
</li>
<liclass="level1"><divclass="li"><strong>Dynamic hash scheme for new passwords</strong>: LemonLDAP::NG is able to store new passwords in the database (while modifying or reinitializing the password). You can choose a salted or non salted dynamic hashed password. The value must be an element of “Supported non-salted schemes” or “Supported salted schemes”.</div>