Ce conteneur utilise le gestionnaire d'abstraction PEAR::MDB2 pour l'accès à une base de données. Cela signifie que vous pouvez utiliser toutes les bases de données qui sont supportées par le gestionnaire d'abstraction MDB2 pour y stocker les données d'identification.
L'argument spécifique de stockage pour le constructeur Auth() est un tableau d'options.
Option | Type de données | Valeur par défaut | Description |
---|---|---|---|
"dsn" | string | " | Un DSN valide et correctement formatté. |
"table" | string | "auth" | Le nom de la table de la base de données, où les données d'identification sont stockées. |
"usernamecol" | string | "username" | Le nom de la colonne, où le nom d'utilisateur est stocké |
"passwordcol" | string | "password" | Le nom de la colonne, où le mot de passe crypté est stocké |
"db_fields" | array | array() | Un tableau de champs additionnels à récupérer lors du chargement des détails de l'utilisateur |
"cryptType" | string | "md5" | Le type de cryptage à utiliser pour stocker le mot de passe |
"auto_quote" | boolean | TRUE | Si l'on doit activer l'échappement automatique des noms des champs et du nom de la table de la base de données |
"db_options" | array | array() | Un tableau d'options à passer au constructeur PEAR::MDB2. Voir PEAR::MDB2 pour plus d'informations. |
"db_where" | string | " | Une chaîne à ajouter à la clause WHERE des requêtes à la base de données. Elle est ajoutée aux requêtes utilisées dans les fonctions fetchData(), listUsers(), removeUser() et changePassword(). Disponible depuis Auth version 1.5.0. |
Par défaut, MDB2_PORTABILITY_ALL est utilisé comme configuration de portabilité. Cette configuration peut produire un comportement non attendu, comme des noms de champ convertis en minuscule par rapport à leurs déclarations dans le schéma de la base de données. L'option "db_options" peut être utilisée pour écraser ce comportement, tel que présenté dans l'exemple ci-dessous.
Exemple d'écrasement de la portabilité par défaut de MDB2
<?php
$options = array('dsn' => 'mysql://user:password@localhost/database',
'usernamecol' => 'UserName',
'passwordcol' => 'PassWord',
'db_options' => array('portability' => MDB2_PORTABILITY_ALL ^ MDB2_PORTABILITY_FIX_CASE)
);
$auth = new Auth('MDB2', $options, 'loginFunction');
?>