Serveur Apache HTTP Version 2.4
Description: | Authentification utilisateur � l'aide d'une base de donn�es SQL |
---|---|
Statut: | Extension |
Identificateur�de�Module: | authn_dbd_module |
Fichier�Source: | mod_authn_dbd.c |
Compatibilit�: | Disponible depuis la version 2.1 d'Apache |
Ce module permet aux frontaux d'authentification comme
mod_auth_digest
et mod_auth_basic
d'authentifier les utilisateurs en les recherchant dans une base de
donn�es SQL. mod_authn_file
, par exemple, fournit
une fonctionnalit� similaire.
Ce module s'appuie sur mod_dbd
pour sp�cifier le
pilote de la base de donn�es sous-jacente et les param�tres de
connexion, mais aussi pour g�rer les connexions � la base de
donn�es.
Si l'on utilise mod_auth_basic
ou
mod_auth_digest
, on peut invoquer ce module en
affectant la valeur dbd
� la directive AuthBasicProvider
ou AuthDigestProvider
.
Certains utilisateurs de l'authentification DBD sous HTTPD 2.2/2.4 ont
signal� une charge probl�matique au niveau de la base de donn�es. Cela
se produit en g�n�ral lorsqu'une page HTML contient des centaines d'objets
(comme des images, des scripts, etc...), chacun d'entre eux n�cessitant
une authentification. Les utilisateurs qui rencontrent ce genre de
probl�me peuvent utiliser le module mod_authn_socache
qui permet de mettre les donn�es d'authentification en cache, et
soulager ainsi la base de donn�es de la plus grande partie de la charge.
Voici un exemple simple d'utilisation de ce module dans un contexte d'authentification et de bases de donn�es.
# configuration de mod_dbd # MISE � JOUR pour inclure la mise en cache de l'authentification DBDriver pgsql DBDParams "dbname=apacheauth user=apache password=xxxxxx" DBDMin 4 DBDKeep 8 DBDMax 20 DBDExptime 300 <Directory /usr/www/mon-serveur/private> # configuration de mod_authn_core et mod_auth_basic # pour mod_authn_dbd AuthType Basic AuthName "Mon serveur" # Pour mettre en cache les donn�es d'authentification, placez socache # avant dbd AuthBasicProvider socache dbd # Aussi n�cessaire � la mise en cache : dire au cache de mettre en # cache les recherches dbd ! AuthnCacheProvideFor dbd AuthnCacheContext mon-serveur # configuration de mod_authz_core Require valid-user # la requ�te SQL de mod_authn_dbd pour authentifier un utilisateur AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s" </Directory>
Si httpd a �t� compil� avec la version 1.3.0 ou sup�rieure de l'APR, pour chaque requ�te envoy�e au serveur de base de donn�es, toutes les valeurs de colonnes du premier enregistrement renvoy� par la requ�te sont affect�es � des variables d'environnement avec le pr�fixe "AUTHENTICATE_".
Par exemple, si une requ�te renvoie un nom d'utilisateur, un nom complet et un num�ro de t�l�phone, un programme CGI pourra acc�der � ces informations sans avoir besoin d'effectuer une deuxi�me requ�te vers la base de donn�es.
Ceci va entra�ner une simplification consid�rable du code et de la configuration n�cessaire de certaines applications web.
Description: | Requ�te SQL servant � v�rifier le mot de passe d'un utilisateur |
---|---|
Syntaxe: | AuthDBDUserPWQuery requ�te |
Contexte: | r�pertoire |
Statut: | Extension |
Module: | mod_authn_dbd |
La directive AuthDBDUserPWQuery
permet de
sp�cifier une requ�te servant � v�rifier le mot de passe d'un
utilisateur donn�. L'identifiant utilisateur sera transmis comme
param�tre sous forme d'une seule cha�ne de caract�res lorsque la
requ�te sera ex�cut�e. Cet identifiant est r�f�renc� dans la requ�te
en utilisant le sp�cificateur de format %s
.
AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
La premi�re colonne du premier enregistrement renvoy� par la
requ�te se pr�sentera sous la forme d'une cha�ne de caract�res
contenant le mot de passe chiffr�. Les enregistrements suivants sont
ignor�s. Si aucun enregistrement n'est renvoy�, l'utilisateur ne
sera pas authentifi� par mod_authn_dbd
.
Si httpd a �t� compil� avec la version 1.3.0 ou sup�rieure de
l'APR, toute valeur de colonne suppl�mentaire
du premier enregistrement renvoy� par la requ�te sera stock�e dans
une variable d'environnement dont le nom aura la forme
AUTHENTICATE_valeur-colonne
.
Le format du mot de passe chiffr� d�pend du frontal
d'authentification utilis� (par exemple
mod_auth_basic
ou
mod_auth_digest
). Voir la documentation sur les Formats de mots de passe pour
plus de d�tails.
Description: | Requ�te SQL servant � v�rifier une empreinte de mot de passe pour un utilisateur et un identifiant d'authentification. |
---|---|
Syntaxe: | AuthDBDUserRealmQuery requ�te |
Contexte: | r�pertoire |
Statut: | Extension |
Module: | mod_authn_dbd |
La directive AuthDBDUserRealmQuery
permet
de sp�cifier une requ�te SQL servant � v�rifier une empreinte de mot
de passe pour un utilisateur et un identifiant d'authentification
donn�s au cours d'un processus d'authentification digest. Les
identifiants de l'utilisateur et de l'authentification
sont pass�s dans cet ordre comme param�tres � l'ex�cution de la
requ�te. Ils sont r�f�renc�s dans la cha�ne de la requ�te en
utilisant des sp�cificateurs de format %s
.
AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"
La premi�re colonne du premier enregistrement renvoy� par la
requ�te se pr�sentera sous la forme d'une cha�ne de caract�res
contenant le mot de passe chiffr�. Les enregistrements suivants
seront ignor�s. Si aucun enregistrement n'est renvoy�, l'utilisateur
ne sera pas authentifi� par mod_authn_dbd
.
Si httpd a �t� compil� avec une version 1.3.0 ou sup�rieure de
l'APR, toute valeur de colonne suppl�mentaire
du premier enregistrement renvoy� par la requ�te sera stock�e dans
une variable d'environnement avec un nom de la forme
AUTHENTICATE_COLONNE
.
Le format du mot de passe chiffr� d�pend du frontal
d'authentification utilis� (par exemple
mod_auth_basic
ou
mod_auth_digest
). Voir la documentation sur les Formats de mots de passe pour
plus de d�tails.