<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Module Apache mod_authn_dbd

Langues Disponibles:  en  |  fr 

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

Sommaire

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.

Directives

Sujets

Voir aussi

top

Performances et mise en cache

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.

top

Exemple de configuration

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>
top

Mise � disposition des informations de connexion

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.

top

AuthDBDUserPWQuery Directive

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.

top

AuthDBDUserRealmQuery Directive

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.

Langues Disponibles:  en  |  fr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.