1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_authn_dbd - Serveur HTTP Apache Version 2.5</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.5</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div>
<div id="page-content">
<div id="preamble"><h1>Module Apache mod_authn_dbd</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_authn_dbd.html" title="Fran�ais"> fr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification utilisateur � l'aide d'une base de donn�es
SQL</td></tr>
<tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur�de�Module:</a></th><td>authn_dbd_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Fichier�Source:</a></th><td>mod_authn_dbd.c</td></tr></table>
<h3>Sommaire</h3>
<p>Ce module permet aux frontaux d'authentification comme
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> et <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>
d'authentifier les utilisateurs en les recherchant dans une base de
donn�es SQL. <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, par exemple, fournit
une fonctionnalit� similaire.</p>
<p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> 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.</p>
<p>Si l'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, on peut invoquer ce module en
affectant la valeur <code>dbd</code> � la directive <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</p>
</div>
<div id="quickview"><h3>Sujets</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#socache">Performances et mise en cache</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de configuration</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise � disposition des informations de connexion</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">Pr�vention contre les injections SQL</a></li>
</ul><h3 class="directives">Directives</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#authdbduserpwquery">AuthDBDUserPWQuery</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li>
</ul>
<h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_authn_dbd">Probl�mes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_authn_dbd">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
<li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
<li>
<code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
</li>
<li>
<code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>
</li>
<li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li>
<li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li>
<li><a href="../misc/password_encryptions.html">Formats de mots de
passe</a></li>
<li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="socache" id="socache">Performances et mise en cache</a><a title="Lien permanent" href="#socache" class="permalink">¶</a></h2>
<p>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 <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>
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.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="example" id="example">Exemple de configuration</a><a title="Lien permanent" href="#example" class="permalink">¶</a></h2>
<p>Voici un exemple simple d'utilisation de ce module dans un contexte
d'authentification et de bases de donn�es.</p>
<pre class="prettyprint lang-config"># configuration de mod_dbd modifi�e 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></pre>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="exposed" id="exposed">Mise � disposition des informations de connexion</a><a title="Lien permanent" href="#exposed" class="permalink">¶</a></h2>
<p>
Si httpd a �t� compil� avec la version 1.3.0 ou sup�rieure de
l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, 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_".
</p>
<p>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.</p>
<p>Ceci va entra�ner une simplification consid�rable du code et de la
configuration n�cessaire de certaines applications web.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">Pr�vention contre les injections SQL</a><a title="Lien permanent" href="#security" class="permalink">¶</a></h2>
<p>Selon le driver DBD et le serveur d'arri�re-plan que vous utilisez,
vous devrez prendre garde � la s�curit� dans le domaine SQL.
Avec la plupart des drivers, vous n'avez rien � faire : la
requ�te est pr�par�e par la base de donn�es au d�marrage, et l'entr�e
utilisateur n'est utilis�e qu'en tant que donn�e. Mais vous aurez
peut-�tre � nettoyer cette entr�e. Au moment o� ces lignes sont
�crites, le seul driver qui peut n�cessiter le nettoyage de l'entr�e
est FreeTDS.</p>
<p>Veuillez vous r�f�rez � la documentation de
<code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour plus d'informations � propos de la
s�curit� dans ce domaine.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authdbduserpwquery" id="authdbduserpwquery">Directive</a> <a name="AuthDBDUserPWQuery" id="AuthDBDUserPWQuery">AuthDBDUserPWQuery</a><a title="Lien permanent" href="#authdbduserpwquery" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requ�te SQL servant � v�rifier le mot de passe d'un
utilisateur</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserPWQuery <var>requ�te</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>r�pertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
</table>
<p>La directive <code class="directive">AuthDBDUserPWQuery</code> 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 <code>%s</code>.</p>
<pre class="prettyprint lang-config">AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"</pre>
<p>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 <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
<p>Si httpd a �t� compil� avec la version 1.3.0 ou sup�rieure de
l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, 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
<code>AUTHENTICATE_<var>valeur-colonne</var></code>.
</p>
<p>Le format du mot de passe chiffr� d�pend du frontal
d'authentification utilis� (par exemple
<code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de passe</a> pour
plus de d�tails.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="authdbduserrealmquery" id="authdbduserrealmquery">Directive</a> <a name="AuthDBDUserRealmQuery" id="AuthDBDUserRealmQuery">AuthDBDUserRealmQuery</a><a title="Lien permanent" href="#authdbduserrealmquery" class="permalink">¶</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requ�te SQL servant � v�rifier une empreinte de mot de
passe pour un utilisateur et un identifiant d'authentification.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserRealmQuery <var>requ�te</var></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>r�pertoire</td></tr>
<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
</table>
<p>La directive <code class="directive">AuthDBDUserRealmQuery</code> sp�cifie
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 <code>%s</code>.</p>
<pre class="prettyprint lang-config">AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"</pre>
<p>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 <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
<p>Si httpd a �t� compil� avec une version 1.3.0 ou sup�rieure de
l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, 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
<code>AUTHENTICATE_<var>COLONNE</var></code>.
</p>
<p>Le format du mot de passe chiffr� d�pend du frontal
d'authentification utilis� (par exemple
<code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>). Voir la documentation sur les <a href="../misc/password_encryptions.html">Formats de mots de passe</a> pour
plus de d�tails.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_authn_dbd.html" title="Fran�ais"> fr </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_authn_dbd.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2018 The Apache Software Foundation.<br />Autoris� sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|