]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_authn_dbd.html.fr
7274e6d071bb10c681928b0564198588f0c5e2e3
[apache] / docs / manual / mod / mod_authn_dbd.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>mod_authn_dbd - Serveur Apache HTTP Version 2.5</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <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" />
12 <script src="../style/scripts/prettify.min.js" type="text/javascript">
13 </script>
14
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body>
17 <div id="page-header">
18 <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>
19 <p class="apache">Serveur Apache HTTP Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
22 <div id="path">
23 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Module Apache mod_authn_dbd</h1>
26 <div class="toplang">
27 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
28 <a href="../fr/mod/mod_authn_dbd.html" title="Français">&nbsp;fr&nbsp;</a></p>
29 </div>
30 <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
31 SQL</td></tr>
32 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
33 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_dbd_module</td></tr>
34 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_dbd.c</td></tr></table>
35 <h3>Sommaire</h3>
36
37     <p>Ce module permet aux frontaux d'authentification comme
38     <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>
39     d'authentifier les utilisateurs en les recherchant dans une base de
40     données SQL. <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, par exemple, fournit
41     une fonctionnalité similaire.</p>
42     <p>Ce module s'appuie sur <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour spécifier le
43     pilote de la base de données sous-jacente et les paramètres de
44     connexion, mais aussi pour gérer les connexions à la base de
45     données.</p>
46
47     <p>Si l'on utilise <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
48     <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>, on peut invoquer ce module en
49     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>
50 </div>
51 <div id="quickview"><h3>Sujets</h3>
52 <ul id="topics">
53 <li><img alt="" src="../images/down.gif" /> <a href="#socache">Performances et mise en cache</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#example">Exemple de configuration</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#exposed">Mise à disposition des informations de connexion</a></li>
56 <li><img alt="" src="../images/down.gif" /> <a href="#security">Prévention contre les injections SQL</a></li>
57 </ul><h3 class="directives">Directives</h3>
58 <ul id="toc">
59 <li><img alt="" src="../images/down.gif" /> <a href="#authdbduserpwquery">AuthDBDUserPWQuery</a></li>
60 <li><img alt="" src="../images/down.gif" /> <a href="#authdbduserrealmquery">AuthDBDUserRealmQuery</a></li>
61 </ul>
62 <h3>Voir aussi</h3>
63 <ul class="seealso">
64 <li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
65 <li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
66 <li>
67   <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
68 </li>
69 <li>
70   <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>
71 </li>
72 <li><code class="directive"><a href="../mod/mod_dbd.html#dbdriver">DBDriver</a></code></li>
73 <li><code class="directive"><a href="../mod/mod_dbd.html#dbdparams">DBDParams</a></code></li>
74 <li><a href="../misc/password_encryptions.html">Formats de mots de
75 passe</a></li>
76 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
77 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
78 <div class="section">
79 <h2><a name="socache" id="socache">Performances et mise en cache</a></h2>
80
81 <p>Certains utilisateurs de l'authentification DBD sous HTTPD 2.2/2.4 ont
82 signalé une charge problématique au niveau de la base de données. Cela
83 se produit en général lorsqu'une page HTML contient des centaines d'objets
84 (comme des images, des scripts, etc...), chacun d'entre eux nécessitant
85 une authentification. Les utilisateurs qui rencontrent ce genre de
86 problème peuvent utiliser le module <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>
87 qui permet de mettre les données d'authentification en cache, et
88 soulager ainsi la base de données de la plus grande partie de la charge.</p>
89 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
90 <div class="section">
91 <h2><a name="example" id="example">Exemple de configuration</a></h2>
92
93 <p>Voici un exemple simple d'utilisation de ce module dans un contexte
94 d'authentification et de bases de données.</p>
95 <pre class="prettyprint lang-config"># configuration de mod_dbd modifiée pour inclure la mise en cache de
96 # l'authentification
97 DBDriver pgsql
98 DBDParams "dbname=apacheauth user=apache password=xxxxxx"
99
100 DBDMin  4
101 DBDKeep 8
102 DBDMax  20
103 DBDExptime 300
104
105 &lt;Directory /usr/www/mon-serveur/private&gt;
106   # configuration de mod_authn_core et mod_auth_basic
107   # pour mod_authn_dbd
108   AuthType Basic
109   AuthName "Mon serveur"
110
111   # Pour mettre en cache les données d'authentification, placez socache
112   # avant dbd
113   AuthBasicProvider socache dbd
114
115   # Aussi nécessaire à la mise en cache : dire au cache de mettre en
116   # cache les recherches dbd !
117   AuthnCacheProvideFor dbd
118   AuthnCacheContext mon-serveur
119
120   # configuration de mod_authz_core
121   Require valid-user
122
123   # la requête SQL de mod_authn_dbd pour authentifier un utilisateur
124   AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
125 &lt;/Directory&gt;</pre>
126
127 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
128 <div class="section">
129 <h2><a name="exposed" id="exposed">Mise à disposition des informations de connexion</a></h2>
130
131 <p>
132 Si httpd a été compilé avec la version 1.3.0 ou supérieure de
133 l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, pour chaque requête envoyée au serveur de
134 base de données, toutes les valeurs de colonnes du premier
135 enregistrement renvoyé par la requête sont affectées à des variables
136 d'environnement avec le préfixe "AUTHENTICATE_".
137 </p>
138 <p>Par exemple, si une requête renvoie un nom d'utilisateur, un nom
139 complet et un numéro de téléphone, un programme CGI pourra accéder à ces
140 informations sans avoir besoin d'effectuer une deuxième requête vers la
141 base de données.</p>
142 <p>Ceci va entraîner une simplification considérable du code et de la
143 configuration nécessaire de certaines applications web.
144 </p>
145 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
146 <div class="section">
147 <h2><a name="security" id="security">Prévention contre les injections SQL</a></h2>
148
149   <p>Selon le driver DBD et le serveur d'arrière-plan que vous utilisez,
150   vous devrez prendre garde à la sécurité dans le domaine SQL.
151   Avec la plupart des drivers, vous n'avez rien à faire : la
152   requête est préparée par la base de données au démarrage, et l'entrée
153   utilisateur n'est utilisée qu'en tant que donnée. Mais vous aurez
154   peut-être à nettoyer cette entrée. Au moment où ces lignes sont
155   écrites, le seul driver qui peut nécessiter le nettoyage de l'entrée
156   est FreeTDS.</p>
157   <p>Veuillez vous référez à la documentation de
158   <code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> pour plus d'informations à propos de la
159   sécurité dans ce domaine.</p>
160 </div>
161 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
162 <div class="directive-section"><h2><a name="authdbduserpwquery" id="authdbduserpwquery">Directive</a> <a name="AuthDBDUserPWQuery" id="AuthDBDUserPWQuery">AuthDBDUserPWQuery</a></h2>
163 <table class="directive">
164 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier le mot de passe d'un
165 utilisateur</td></tr>
166 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserPWQuery <var>requête</var></code></td></tr>
167 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
168 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
169 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
170 </table>
171     <p>La directive <code class="directive">AuthDBDUserPWQuery</code> permet de
172     spécifier une requête servant à vérifier le mot de passe d'un
173     utilisateur donné. L'identifiant utilisateur sera transmis comme
174     paramètre sous forme d'une seule chaîne de caractères lorsque la
175     requête sera exécutée. Cet identifiant est référencé dans la requête
176     en utilisant le spécificateur de format <code>%s</code>.</p>
177     <pre class="prettyprint lang-config">AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"</pre>
178
179     <p>La première colonne du premier enregistrement renvoyé par la
180     requête se présentera sous la forme d'une chaîne de caractères
181     contenant le mot de passe chiffré. Les enregistrements suivants sont
182     ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur ne
183     sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
184     <p>Si httpd a été compilé avec la version 1.3.0 ou supérieure de
185     l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, toute valeur de colonne supplémentaire
186     du premier enregistrement renvoyé par la requête sera stockée dans
187     une variable d'environnement dont le nom aura la forme
188     <code>AUTHENTICATE_<var>valeur-colonne</var></code>.
189     </p>
190     <p>Le format du mot de passe chiffré dépend du frontal
191     d'authentification utilisé (par exemple
192     <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
193     <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
194     plus de détails.</p>
195
196 </div>
197 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
198 <div class="directive-section"><h2><a name="authdbduserrealmquery" id="authdbduserrealmquery">Directive</a> <a name="AuthDBDUserRealmQuery" id="AuthDBDUserRealmQuery">AuthDBDUserRealmQuery</a></h2>
199 <table class="directive">
200 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Requête SQL servant à vérifier une empreinte de mot de
201 passe pour un utilisateur et un identifiant d'authentification.
202 </td></tr>
203 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthDBDUserRealmQuery <var>requête</var></code></td></tr>
204 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
205 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr>
206 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_dbd</td></tr>
207 </table>
208     <p>La directive <code class="directive">AuthDBDUserRealmQuery</code> spécifie
209     une requête SQL servant à vérifier une empreinte de mot
210     de passe pour un utilisateur et un identifiant d'authentification
211     donnés au cours d'un processus d'authentification digest. Les
212     identifiants de l'utilisateur et de l'authentification
213     sont passés dans cet ordre comme paramètres à l'exécution de la
214     requête. Ils sont référencés dans la chaîne de la requête en
215     utilisant des spécificateurs de format <code>%s</code>.</p>
216     <pre class="prettyprint lang-config">AuthDBDUserRealmQuery "SELECT password FROM authn WHERE user = %s AND realm = %s"</pre>
217
218     <p>La première colonne du premier enregistrement renvoyé par la
219     requête se présentera sous la forme d'une chaîne de caractères
220     contenant le mot de passe chiffré. Les enregistrements suivants
221     seront ignorés. Si aucun enregistrement n'est renvoyé, l'utilisateur
222     ne sera pas authentifié par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>.</p>
223     <p>Si httpd a été compilé avec une version 1.3.0 ou supérieure de
224     l'<a class="glossarylink" href="../glossary.html#apr" title="voir glossaire">APR</a>, toute valeur de colonne supplémentaire
225     du premier enregistrement renvoyé par la requête sera stockée dans
226     une variable d'environnement avec un nom de la forme
227     <code>AUTHENTICATE_<var>COLONNE</var></code>.
228     </p>
229     <p>Le format du mot de passe chiffré dépend du frontal
230     d'authentification utilisé (par exemple
231     <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ou
232     <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
233     plus de détails.</p>
234
235 </div>
236 </div>
237 <div class="bottomlang">
238 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_dbd.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
239 <a href="../fr/mod/mod_authn_dbd.html" title="Français">&nbsp;fr&nbsp;</a></p>
240 </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&amp;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>
241 <script type="text/javascript"><!--//--><![CDATA[//><!--
242 var comments_shortname = 'httpd';
243 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_authn_dbd.html';
244 (function(w, d) {
245     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
246         d.write('<div id="comments_thread"><\/div>');
247         var s = d.createElement('script');
248         s.type = 'text/javascript';
249         s.async = true;
250         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
251         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
252     }
253     else {
254         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
255     }
256 })(window, document);
257 //--><!]]></script></div><div id="footer">
258 <p class="apache">Copyright 2015 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
259 <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[//><!--
260 if (typeof(prettyPrint) !== 'undefined') {
261     prettyPrint();
262 }
263 //--><!]]></script>
264 </body></html>