]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_auth_form.html.fr
Rebuild.
[apache] / docs / manual / mod / mod_auth_form.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 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>mod_auth_form - Serveur Apache HTTP Version 2.5</title>
11 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <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" />
14 <script src="../style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
18 <body>
19 <div id="page-header">
20 <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>
21 <p class="apache">Serveur Apache HTTP Version 2.5</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
24 <div id="path">
25 <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>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_auth_form</h1>
28 <div class="toplang">
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_form.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
30 <a href="../fr/mod/mod_auth_form.html" title="Français">&nbsp;fr&nbsp;</a></p>
31 </div>
32 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification à l'aide d'un formulaire</td></tr>
33 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
34 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_form_module</td></tr>
35 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_form.c</td></tr>
36 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir d'Apache 2.3</td></tr></table>
37 <h3>Sommaire</h3>
38
39     <div class="warning"><h3>Avertissement</h3>
40       <p>L'authentification à base de formulaire dépend des modules
41       <code class="module"><a href="../mod/mod_session.html">mod_session</a></code> qui utilisent les cookies HTTP, et en
42       tant que tels s'exposent à des attaques de type Cross Site
43       Scripting, ou risquent de divulguer des informations à caractère
44       privé aux clients. Assurez-vous que ces risques ont bien été pris
45       en compte avant d'activer les sessions sur votre serveur.</p>
46     </div>
47
48     <p>Ce module permet de restreindre l'accès en recherchant les
49     utilisateurs dans les fournisseurs spécifiés à l'aide d'un
50     formulaire de connexion HTML. Les formulaires HTML requièrent
51     davantage de configuration que les méthodes d'authentification
52     alternatives, mais ils peuvent s'avérer beaucoup plus conviviaux
53     pour les utilisateurs.
54     </p>
55
56     <p>L'authentification HTTP de base est fournie par le module
57     <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code>, et l'authentification HTTP à base
58     de condensé par le module <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. Le
59     module <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> doit être utilisé avec au
60     moins un module d'authentification du style
61     <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation comme
62     <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>.</p>
63
64     <p>Lorsque l'utilisateur a été authentifié avec succès, ses
65     informations de connexion sont stockés dans une session fournie par
66     le module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.
67     </p>
68
69 </div>
70 <div id="quickview"><h3>Sujets</h3>
71 <ul id="topics">
72 <li><img alt="" src="../images/down.gif" /> <a href="#basicconfig">Configuration de base</a></li>
73 <li><img alt="" src="../images/down.gif" /> <a href="#standalone">Page de connexion dédiée</a></li>
74 <li><img alt="" src="../images/down.gif" /> <a href="#inline">Connexion à la volée</a></li>
75 <li><img alt="" src="../images/down.gif" /> <a href="#inlinepreservebody">Connexion à la volée avec
76     conservation du contenu</a></li>
77 <li><img alt="" src="../images/down.gif" /> <a href="#loggingout">Déconnexion</a></li>
78 <li><img alt="" src="../images/down.gif" /> <a href="#urlencoding">Noms d'utilisateurs et mots de
79     passe</a></li>
80 </ul><h3 class="directives">Directives</h3>
81 <ul id="toc">
82 <li><img alt="" src="../images/down.gif" /> <a href="#authformauthoritative">AuthFormAuthoritative</a></li>
83 <li><img alt="" src="../images/down.gif" /> <a href="#authformbody">AuthFormBody</a></li>
84 <li><img alt="" src="../images/down.gif" /> <a href="#authformdisablenostore">AuthFormDisableNoStore</a></li>
85 <li><img alt="" src="../images/down.gif" /> <a href="#authformfakebasicauth">AuthFormFakeBasicAuth</a></li>
86 <li><img alt="" src="../images/down.gif" /> <a href="#authformlocation">AuthFormLocation</a></li>
87 <li><img alt="" src="../images/down.gif" /> <a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></li>
88 <li><img alt="" src="../images/down.gif" /> <a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></li>
89 <li><img alt="" src="../images/down.gif" /> <a href="#authformlogoutlocation">AuthFormLogoutLocation</a></li>
90 <li><img alt="" src="../images/down.gif" /> <a href="#authformmethod">AuthFormMethod</a></li>
91 <li><img alt="" src="../images/down.gif" /> <a href="#authformmimetype">AuthFormMimetype</a></li>
92 <li><img alt="" src="../images/down.gif" /> <a href="#authformpassword">AuthFormPassword</a></li>
93 <li><img alt="" src="../images/down.gif" /> <a href="#authformprovider">AuthFormProvider</a></li>
94 <li><img alt="" src="../images/down.gif" /> <a href="#authformsitepassphrase">AuthFormSitePassphrase</a></li>
95 <li><img alt="" src="../images/down.gif" /> <a href="#authformsize">AuthFormSize</a></li>
96 <li><img alt="" src="../images/down.gif" /> <a href="#authformusername">AuthFormUsername</a></li>
97 </ul>
98 <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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_auth_form">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_auth_form">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
99 <ul class="seealso">
100 <li><code class="module"><a href="../mod/mod_session.html">mod_session</a></code></li>
101 <li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
102 <li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
103 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
104 <li><a href="../howto/auth.html">Mise en oeuvre de
105 l'authentification</a></li>
106 <li><a href="#comments_section">Commentaires</a></li></ul></div>
107 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
108 <div class="section">
109 <h2><a name="basicconfig" id="basicconfig">Configuration de base</a></h2>
110
111       <p>Pour protéger une URL particulière avec le module
112       <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, vous devez déterminer l'endroit où
113       vous allez stocker votre <var>session</var>, ainsi que la méthode
114       d'authentification. Dans cet exemple simple, les informations de
115       connexion sont stockées dans une session à l'aide du module
116       <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code>, et l'authentification utilise
117       un fichier en s'appuyant sur le module
118       <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Si l'authentification échoue,
119       l'utilisateur dera redirigé vers la page du formulaire de
120       connexion.</p>
121
122       <div class="example"><h3>Exemple simple</h3><pre class="prettyprint lang-config">&lt;Location "/admin"&gt;
123     AuthFormProvider file
124     AuthUserFile "conf/passwd"
125     AuthType form
126     AuthName "/admin"
127     AuthFormLoginRequiredLocation "http://example.com/login.html"
128     Session On
129     SessionCookieName session path=/
130     SessionCryptoPassphrase secret
131
132     Require valid-user
133 &lt;/Location&gt;</pre>
134 </div>
135
136       <p>L'authentification <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> est activée
137       en affectant la valeur <var>form</var> à la directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>. Les directives
138       <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> et
139       <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
140       spécifient que les noms d'utilisateurs et mots de passe seront
141       vérifiés en utilisant le fichier choisi.</p>
142
143       <p>Les directives <code class="directive"><a href="../mod/mod_session.html#session">Session</a></code>, <code class="directive"><a href="../mod/mod_session_cookie.html#sessioncookiename">SessionCookieName</a></code> et
144       <code class="directive"><a href="../mod/mod_session_crypto.html#sessioncryptopassphrase">SessionCryptoPassphrase</a></code>
145       créent une session chiffrée stockée dans un cookie HTTP au niveau
146       du navigateur. Pour plus d'informations à propos des différentes
147       options de configuration des sessions, reportez-vous à la
148       documentation du module <code class="module"><a href="../mod/mod_session.html">mod_session</a></code>.</p>
149
150       <p>Dans l'exemple simple ci-dessus, une URL a été protégée par
151       <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, mais on doit maintenant fournir
152       à l'utilisateur un moyen d'entrer un nom et un mot de passe. À cet
153       effet, on peut soit écrire une page de connexion indépendante
154       dédiée, soit inclure le formulaire de connexion dans la page
155       courante.</p>
156     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
157 <div class="section">
158 <h2><a name="standalone" id="standalone">Page de connexion dédiée</a></h2>
159
160       <p>Le formulaire de connexion peut être contenu dans une page
161       indépendante, ou être inclus dans la page courante. </p>
162
163       <p>Lorsque la connexion s'effectue à partir d'une page
164       indépendante et si la tentative d'authentification échoue,
165       l'utilisateur doit être redirigé vers un formulaire de connexion,
166       créé à cet effet sur le site web, en utilisant la directive
167       <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>.
168       En général, la page de connexion contiendra un formulaire HTML
169       demandant à l'utilisateur de fournir un nom et un mot de passe.</p>
170
171       <div class="example"><h3>Exemple de formulaire de connexion</h3><pre class="prettyprint lang-html">&lt;form method="POST" action="/dologin.html"&gt;
172   Username: &lt;input type="text" name="httpd_username" value="" /&gt;
173   Password: &lt;input type="password" name="httpd_password" value="" /&gt;
174   &lt;input type="submit" name="login" value="Login" /&gt;
175 &lt;/form&gt;</pre>
176 </div>
177
178       <p>La partie où s'effectue la connexion proprement dite est
179       traitée par le gestionnaire <var>form-login-handler</var>.
180       L'action de ce formulaire doit pointer vers ce gestionnaire, ce
181       que l'on configure dans Apache httpd comme suit :</p>
182
183       <div class="example"><h3>Exemple de configuration du gestionnaire de
184       formulaire de connexion</h3><pre class="prettyprint lang-config">&lt;Location "/dologin.html"&gt;
185     SetHandler form-login-handler
186     AuthFormLoginRequiredLocation "http://example.com/login.html"
187     AuthFormLoginSuccessLocation "http://example.com/success.html"
188     AuthFormProvider file
189     AuthUserFile "conf/passwd"
190     AuthType form
191     AuthName realm
192     Session On
193     SessionCookieName session path=/
194     SessionCryptoPassphrase secret
195 &lt;/Location&gt;</pre>
196 </div>
197
198       <p>L'URL spécifiée par la directive
199       <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>
200       référencera en général une page expliquant à l'utilisateur que sa
201       tentative de connexion a échoué, et qu'il doit la renouveler. La
202       directive <code class="directive"><a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code>
203       spécifie l'URL vers laquelle l'utilisateur doit être redirigé s'il
204       s'est authentifié avec succès.</p>
205
206       <p>Alternativement, l'URL vers laquelle doit être redirigé
207       l'utilisateur s'il s'est authentifié avec succès peut être
208       intégrée dans le formulaire de connexion, comme dans l'exemple
209       ci-dessous. Il en découle que le même gestionnaire
210       <var>form-login-handler</var> pourra être utilisé pour différentes
211       zones du site web.</p>
212
213       <div class="example"><h3>Exemple de formulaire d'authentification multizone</h3><pre class="prettyprint lang-html">&lt;form method="POST" action="/dologin.html"&gt;
214   Username: &lt;input type="text" name="httpd_username" value="" /&gt;
215   Password: &lt;input type="password" name="httpd_password" value="" /&gt;
216   &lt;input type="submit" name="login" value="Login" /&gt;
217   &lt;input type="hidden" name="httpd_location" value="http://example.com/success.html" /&gt;
218 &lt;/form&gt;</pre>
219 </div>
220
221     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
222 <div class="section">
223 <h2><a name="inline" id="inline">Connexion à la volée</a></h2>
224
225       <div class="warning"><h3>Avertissement</h3>
226         <p>Il existe un risque, dans certaines circonstances, que le
227         formulaire de connexion configuré pour une connexion à la volée
228         soit soumis plusieurs fois, révélant de ce fait les paramètres
229         de connexion à l'application sous-jacente. L'administrateur doit
230         s'assurer que cette dernière est correctement sécurisée afin
231         d'éviter les éventuels abus. En cas de doute, utilisez une page
232         de connexion indépendante dédiée.</p>
233       </div>
234
235       <p>Comme alternative à la page de connexion dédiée pour un site
236       web, il est possible de configurer <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
237       pour authentifier les utilisateurs à la volée, sans les rediriger
238       vers une autre page, ce qui permet de conserver l'état de la page
239       courante au cours de la tentative de connexion. Ceci peut s'avérer
240       utile dans le cas d'une session limitée dans le temps, si le délai
241       de la session a expiré pendant la requête de l'utilisateur. Ce
242       dernier peut alors se réauthentifier à la même place, et
243       poursuivre son activité à partir du point où il en était resté.</p>
244
245       <p>Si un utilisateur non authentifié tente d'accéder à une page
246       protégée par <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>, et si ce dernier
247       n'est pas configuré avec une directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>,
248       un code de statut <var>HTTP_UNAUTHORIZED</var> est renvoyé vers le
249       navigateur, indiquant à l'utilisateur qu'il n'est pas autorisé à
250       accéder à cette page.</p>
251
252       <p>Pour configurer l'authentification à la volée, l'administrateur
253       remplace le message d'erreur renvoyé par le code de statut
254       <var>HTTP_UNAUTHORIZED</var> par un message d'erreur personnalisé
255       contenant le formulaire de connexion comme suit :</p>
256
257       <div class="example"><h3>Exemple simple d'authentification à la volée</h3><pre class="prettyprint lang-config">AuthFormProvider file
258 ErrorDocument 401 "/login.shtml"
259 AuthUserFile "conf/passwd"
260 AuthType form
261 AuthName realm
262 AuthFormLoginRequiredLocation "http://example.com/login.html"
263 Session On
264 SessionCookieName session path=/
265 SessionCryptoPassphrase secret</pre>
266 </div>
267
268       <p>La page du message d'erreur doit contenir un formulaire de
269       connexion dont la propriété action est vide, comme dans l'exemple
270       ci-dessous. Ceci a pour effet de soumettre le formulaire à l'URL
271       protégée originale, cette dernière n'ayant pas besoin d'être
272       connue de la page en cours.</p>
273
274       <div class="example"><h3>Exemple de formulaire de connexion à la volée</h3><pre class="prettyprint lang-html">&lt;form method="POST" <strong>action=""</strong>&gt;
275   Username: &lt;input type="text" name="httpd_username" value="" /&gt;
276   Password: &lt;input type="password" name="httpd_password" value="" /&gt;
277   &lt;input type="submit" name="login" value="Login" /&gt;
278 &lt;/form&gt;</pre>
279 </div>
280
281       <p>Lorsque l'utilisateur final a entré ses informations de
282       connexion, le formulaire effectue une requête HTTP POST pour l'URL
283       originale protégée par mot de passe.
284       <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> va alors intercepter cette requête
285       POST, et dans le cas où des champs HTML Utilisateur et Mot de
286       passe corrects sont présents, l'utilisateur sera connecté, et
287       l'URL originale protégée par mot de passe lui sera retournée en
288       tant que requête GET.</p>
289
290     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
291 <div class="section">
292 <h2><a name="inlinepreservebody" id="inlinepreservebody">Connexion à la volée avec
293     conservation du contenu</a></h2>
294
295       <p>Il existe une limite à la technique de connexion à la volée
296       décrite ci-dessus ; si un formulaire HTML POST entraîne une
297       demande d'authentification ou de réauthentification, le contenu du
298       formulaire original envoyé par le navigateur sera perdu. Cela peut
299       s'avérer plus ou moins gênant pour l'utilisateur final selon la
300       fonction du site web.</p>
301
302       <p>Comme solution à ce problème, <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code>
303       permet d'intégrer la méthode et le contenu de la requête originale
304       dans le formulaire de connexion. Si l'authentification réussit,
305       Apache httpd pourra refaire une tentative avec la méthode et le contenu
306       originaux, tout en conservant l'état de la requête originale.</p>
307
308       <p>Pour mettre en oeuvre la conservation du contenu, vous devez
309       ajouter trois champs supplémentaires au formulaire de connexion
310       comme dans l'exemple suivant :</p>
311
312       <div class="example"><h3>Exemple de formulaire avec conservation du
313       contenu</h3><pre class="prettyprint lang-html">&lt;form method="POST" action=""&gt;
314   Username: &lt;input type="text" name="httpd_username" value="" /&gt;
315   Password: &lt;input type="password" name="httpd_password" value="" /&gt;
316   &lt;input type="submit" name="login" value="Login" /&gt;
317   <br />  <strong>&lt;input type="hidden" name="httpd_method" value="POST" /&gt;
318   &lt;input type="hidden" name="httpd_mimetype" value="application/x-www-form-urlencoded" /&gt;
319   &lt;input type="hidden" name="httpd_body" value="name1=value1&amp;name2=value2" /&gt;</strong><br />
320 &lt;/form&gt;</pre>
321 </div>
322
323       <p>La manière dont la méthode, le type MIME et le contenu de la
324       requête originale seront intégrés dans le formulaire de connexion
325       vont dépendre de la plate-forme et de la technologie utilisées au
326       sein du site web.
327       </p>
328
329       <p>Une option consiste à utiliser le module
330       <code class="module"><a href="../mod/mod_include.html">mod_include</a></code> en association avec la directive
331       <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code>, ainsi
332       qu'un script CGI adapté pour intégrer les variables dans le
333       formulaire.</p>
334
335       <p>Une autre option consiste à présenter le formulaire de
336       connexion en utilisant un script CGI ou une autre technologie
337       dynamique.</p>
338
339       <div class="example"><h3>Exemple avec script CGI</h3><pre class="prettyprint lang-config">        AuthFormProvider file
340         ErrorDocument 401 "/cgi-bin/login.cgi"
341         ...</pre>
342 </div>
343
344     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
345 <div class="section">
346 <h2><a name="loggingout" id="loggingout">Déconnexion</a></h2>
347
348       <p>Pour permettre à un utilisateur de se déconnecter d'une session
349       particulière, vous devez configurer une page pour qu'elle soit
350       traitée par le gestionnaire <var>form-logout-handler</var>. Tout
351       accès à cette URL va entraîner la suppression de l'Utilisateur et
352       du Mot de passe de la session courante, ce qui aura pour effet de
353       déconnecter l'utilisateur.</p>
354
355       <p>Vous pouvez spécifier une URL vers laquelle le navigateur sera
356       redirigé en cas de déconnection réussie, en définissant la
357       directive <code class="directive"><a href="#authformlogoutlocation">AuthFormLogoutLocation</a></code>. Cette
358       URL devra expliquer à l'utilisateur qu'il a été déconnecté, et lui
359       donner la possibilité de se connecter à nouveau.</p>
360
361       <div class="example"><h3>Exemple simple de configuration de la
362       déconnexion</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler
363 AuthName realm
364 AuthFormLogoutLocation "http://example.com/loggedout.html"
365 Session On
366 SessionCookieName session path=/
367 SessionCryptoPassphrase secret</pre>
368 </div>
369
370       <p>Notez que la déconnexion d'un utilisateur ne supprime pas la
371       session ; elle supprime seulement l'utilisateur et le mot de passe
372       de la session. Si la session qui en résulte est vide, elle sera
373       probablement supprimée, mais ce n'est pas garanti. Si vous voulez
374       être sûr que la session sera supprimée, affectez une valeur faible
375       à la directive <code class="directive"><a href="../mod/mod_session.html#sessionmaxage">SessionMaxAge</a></code>, par exemple 1
376       (affecter à cette directive la valeur zéro signifie une session
377       sans limite d'âge).
378       </p>
379
380       <div class="example"><h3>Exemple simple avec durée de validité de session
381       limitée</h3><pre class="prettyprint lang-config">SetHandler form-logout-handler
382 AuthFormLogoutLocation "http://example.com/loggedout.html"
383 Session On
384 SessionMaxAge 1
385 SessionCookieName session path=/
386 SessionCryptoPassphrase secret</pre>
387 </div>
388
389     </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
390 <div class="section">
391 <h2><a name="urlencoding" id="urlencoding">Noms d'utilisateurs et mots de
392     passe</a></h2>
393     <p>Notez que la soumission d'un formulaire implique l'encodage URL
394     (URLEncoding) des données du formulaire, ici le nom d'utilisateur et
395     le mot de passe. Vous devez donc choisir des noms d'utilisateurs et
396     mots de passe qui ne contiennent pas de caractères susceptibles
397     d'être encodés URL lors de la soumission du formulaire, sous peine
398     d'obtenir des résultats inattendus.</p>
399     </div>
400 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
401 <div class="directive-section"><h2><a name="authformauthoritative" id="authformauthoritative">Directive</a> <a name="AuthFormAuthoritative" id="AuthFormAuthoritative">AuthFormAuthoritative</a></h2>
402 <table class="directive">
403 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Détermine si l'autorisation et l'authentification sont confiés à
404 des modules de plus bas niveau</td></tr>
405 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormAuthoritative On|Off</code></td></tr>
406 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormAuthoritative On</code></td></tr>
407 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
408 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
409 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
410 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
411 </table>
412     <p>Normalement, chacun des modules d'autorisation spécifiés par la
413     directive <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code> va tenter de
414     vérifier l'identité de l'utilisateur, et si ce dernier n'est trouvé
415     dans aucun fournisseur, l'accès sera refusé. En définissant
416     explicitement la directive
417     <code class="directive">AuthFormAuthoritative</code> à <code>Off</code> on
418     confie les processus d'authentification et d'autorisation à des
419     modules ne s'appuyant pas sur des fournisseurs, si <strong>aucun
420     identifiant utilisateur</strong> ou aucune <strong>règle</strong> ne
421     correspond à l'identifiant utilisateur fourni. Ceci ne peut s'avérer
422     nécessaire que si l'on combine <code class="module"><a href="../mod/mod_auth_form.html">mod_auth_form</a></code> avec
423     des modules tiers qui ne se configurent pas avec la directive
424     <code class="directive"><a href="#authformprovider">AuthFormProvider</a></code>.
425     Lorsqu'on utilise de tels modules, la chronologie du processus est
426     déterminée dans leur code source, et n'est pas configurable.</p>
427
428 </div>
429 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
430 <div class="directive-section"><h2><a name="authformbody" id="authformbody">Directive</a> <a name="AuthFormBody" id="AuthFormBody">AuthFormBody</a></h2>
431 <table class="directive">
432 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant le corps de la
433 requête à effectuer en cas de connexion réussie</td></tr>
434 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormBody <var>nom du champ</var></code></td></tr>
435 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_body</code></td></tr>
436 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
437 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
438 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
439 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
440 </table>
441     <p>La directive <code class="directive"><a href="#authformbody">AuthFormBody</a></code>
442     spécifie le nom du champ HTML qui, s'il existe, contiendra le corps
443     de la requête à effectuer en cas de connexion réussie.</p>
444
445     <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
446     mesure de relancer une requête qui a été éventuellement interrompue
447     par l'écran de connexion, ou par l'expiration d'un délai de
448     session.</p>
449
450 </div>
451 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
452 <div class="directive-section"><h2><a name="authformdisablenostore" id="authformdisablenostore">Directive</a> <a name="AuthFormDisableNoStore" id="AuthFormDisableNoStore">AuthFormDisableNoStore</a></h2>
453 <table class="directive">
454 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Désactive l'en-tête CacheControl no-store sur la page de
455 connexion</td></tr>
456 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormDisableNoStore <var>On|Off</var></code></td></tr>
457 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormDisableNoStore Off</code></td></tr>
458 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
459 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
460 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
461 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
462 </table>
463     <p>Le drapeau <code class="directive"><a href="#authformdisablenostore">AuthFormDisableNoStore</a></code> supprime
464     l'envoi d'un en-tête <code>Cache-Control no-store</code> lorsqu'une
465     page avec code d'erreur 401 est renvoyée, si l'utilisateur n'est pas
466     encore connecté. Avec cette en-tête, il est plus difficile pour une
467     application <code>ecmascript</code> de resoumettre un formulaire de connexion, et
468     ainsi révéler le nom d'utilisateur et le mot de passe à
469     l'application sous-jacente. Vous devez être conscient des risques
470     encourus si vous le désactivez.</p>
471
472
473 </div>
474 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
475 <div class="directive-section"><h2><a name="authformfakebasicauth" id="authformfakebasicauth">Directive</a> <a name="AuthFormFakeBasicAuth" id="AuthFormFakeBasicAuth">AuthFormFakeBasicAuth</a></h2>
476 <table class="directive">
477 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Simule une en-tête d'authentification de base</td></tr>
478 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormFakeBasicAuth <var>On|Off</var></code></td></tr>
479 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormFakeBasicAuth Off</code></td></tr>
480 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
481 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
482 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
483 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
484 </table>
485     <p>Le drapeau <code class="directive"><a href="#authformfakebasicauth">AuthFormFakeBasicAuth</a></code>
486     détermine si une en-tête d'<code>Authentification de base</code>
487     sera ajoutée aux en-têtes de la requête. On peut utiliser cette
488     méthode pour présenter le nom d'utilisateur et le mot de passe à
489     l'application sous-jacente, sans que cette dernière ait besoin de
490     connaître la manière dont le processus de connexion a été mené à
491     bien.</p>
492
493
494 </div>
495 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
496 <div class="directive-section"><h2><a name="authformlocation" id="authformlocation">Directive</a> <a name="AuthFormLocation" id="AuthFormLocation">AuthFormLocation</a></h2>
497 <table class="directive">
498 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contiendra l'URL vers
499 laquelle l'utilisateur sera redirigé en cas de connexion
500 réussie</td></tr>
501 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLocation <var>nom du champ</var></code></td></tr>
502 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_location</code></td></tr>
503 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
504 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
505 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
506 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
507 </table>
508     <p>La directive <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code>
509     spécifie le nom du champ HTML qui, s'il existe, contiendra l'URL
510     vers laquelle rediriger le navigateur en cas de connexion
511     réussie.</p>
512
513 </div>
514 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
515 <div class="directive-section"><h2><a name="authformloginrequiredlocation" id="authformloginrequiredlocation">Directive</a> <a name="AuthFormLoginRequiredLocation" id="AuthFormLoginRequiredLocation">AuthFormLoginRequiredLocation</a></h2>
516 <table class="directive">
517 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL de la page vers laquelle on doit être redirigé si une
518 authentification est requise</td></tr>
519 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLoginRequiredLocation <var>url</var></code></td></tr>
520 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
521 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
522 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
523 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
524 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
525 Apache. L'interprétation des expressions rationnelles est supportée
526 depuis la version 2.4.4.</td></tr>
527 </table>
528     <p>La directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>
529     spécifie l'URL vers laquelle l'utilisateur devra être
530     redirigé s'il n'est pas autorisé à accéder à une page. Sa valeur est
531     interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
532     avant d'être envoyée au client. Par défaut,
533     si un utilisateur n'est pas autorisé à accéder à une page, le code
534     de réponse HTTP <code>HTTP_UNAUTHORIZED</code> est renvoyé avec la
535     page spécifiée par la directive <code class="directive"><a href="../mod/core.html#errordocument">ErrorDocument</a></code>. La directive <code class="directive"><a href="#authformloginrequiredlocation">AuthFormLoginRequiredLocation</a></code>
536     permet de remplacer cette valeur par défaut.</p>
537
538     <p>Vous pouvez utiliser cette directive si vous voulez présenter une
539     page de connexion personnalisée à vos utilisateurs.</p>
540
541
542 </div>
543 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
544 <div class="directive-section"><h2><a name="authformloginsuccesslocation" id="authformloginsuccesslocation">Directive</a> <a name="AuthFormLoginSuccessLocation" id="AuthFormLoginSuccessLocation">AuthFormLoginSuccessLocation</a></h2>
545 <table class="directive">
546 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL de la page vers laquelle on doit être redirigé en cas
547 de connexion réussie</td></tr>
548 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLoginSuccessLocation <var>url</var></code></td></tr>
549 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
550 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
551 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
552 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
553 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
554 Apache. L'interprétation des expressions rationnelles est supportée
555 depuis la version 2.4.4.</td></tr>
556 </table>
557     <p>La directive <code class="directive"><a href="#authformloginsuccesslocation">AuthFormLoginSuccessLocation</a></code>
558     spécifie l'URL vers laquelle l'utilisateur doit être
559     redirigé en cas de connexion réussie. Sa valeur est
560     interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
561     avant d'être envoyée au client. L'effet de cette directive
562     peut être annulé si l'on a défini un champ de formulaire contenant
563     une autre URL à l'aide de la directive <code class="directive"><a href="#authformlocation">AuthFormLocation</a></code>.</p>
564
565     <p>Vous pouvez utiliser cette directive si vous possédez une URL de
566     connexion personnalisée, et si vous n'avez pas intégré la page de
567     destination dans le formulaire de connexion.</p>
568
569
570 </div>
571 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
572 <div class="directive-section"><h2><a name="authformlogoutlocation" id="authformlogoutlocation">Directive</a> <a name="AuthFormLogoutLocation" id="AuthFormLogoutLocation">AuthFormLogoutLocation</a></h2>
573 <table class="directive">
574 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL vers laquelle un utilisateur devra être redirigé
575 après s'être déconnecté</td></tr>
576 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormLogoutLocation <var>uri</var></code></td></tr>
577 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
578 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
579 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
580 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
581 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP
582 Apache. L'interprétation des expressions rationnelles est supportée
583 depuis la version 2.4.4.</td></tr>
584 </table>
585     <p>La directive <code class="directive"><a href="#authformlogoutlocation">AuthFormLogoutLocation</a></code>
586     spécifie l'URL de la page du serveur vers laquelle l'utilisateur
587     devra être redirigé s'il se déconnecte. Sa valeur est
588     interprétée via l'interpréteur <a href="../expr.html">ap_expr</a>
589     avant d'être envoyée au client.</p>
590
591     <p>Lorsqu'un accès est tenté sur un URI traité par le gestionnaire
592     <code>form-logout-handler</code>, la page spécifiée par cette
593     directive sera présentée à l'utilisateur final. Par exemple :</p>
594
595     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;Location "/logout"&gt;
596     SetHandler form-logout-handler
597     AuthFormLogoutLocation "http://example.com/loggedout.html"
598     Session on
599     #...
600 &lt;/Location&gt;</pre>
601 </div>
602
603     <p>Si un utilisateur tente d'accéder à l'URI <var>/logout/</var>, il
604     sera déconnecté, et la page <var>/loggedout.html</var> lui sera
605     présentée. Assurez-vous que la page <var>loggedout.html</var> n'est
606     pas protégée par mot de passe, car dans le cas contraire, elle ne
607     serait pas affichée.</p>
608
609
610 </div>
611 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
612 <div class="directive-section"><h2><a name="authformmethod" id="authformmethod">Directive</a> <a name="AuthFormMethod" id="AuthFormMethod">AuthFormMethod</a></h2>
613 <table class="directive">
614 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant la méthode de la
615 requête à effectuer en cas de connexion réussie</td></tr>
616 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormMethod <var>nom du champ</var></code></td></tr>
617 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_method</code></td></tr>
618 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
619 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
620 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
621 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
622 </table>
623     <p>La directive <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>
624     spécifie le nom du champ HTML qui, s'il existe, contiendra le type
625     MIME de la requête à effectuer en cas de connexion réussie.</p>
626
627     <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
628     mesure de relancer une requête qui a été éventuellement interrompue
629     par l'écran de connexion, ou par l'expiration d'un délai de
630     session.</p>
631
632 </div>
633 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
634 <div class="directive-section"><h2><a name="authformmimetype" id="authformmimetype">Directive</a> <a name="AuthFormMimetype" id="AuthFormMimetype">AuthFormMimetype</a></h2>
635 <table class="directive">
636 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire contenant le type MIME du
637 corps de la requête à effectuer en cas de connexion
638 réussie</td></tr>
639 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormMimetype <var>nom du champ</var></code></td></tr>
640 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_mimetype</code></td></tr>
641 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
642 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
643 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
644 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
645 </table>
646     <p>La directive <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code>
647     spécifie le nom du champ HTML qui, s'il existe, contiendra le type
648     MIME de la requête à effectuer en cas de connexion réussie.</p>
649
650     <p>En ajoutant au formulaire les champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, un site web sera en
651     mesure de relancer une requête qui a été éventuellement interrompue
652     par l'écran de connexion, ou par l'expiration d'un délai de
653     session.</p>
654
655 </div>
656 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
657 <div class="directive-section"><h2><a name="authformpassword" id="authformpassword">Directive</a> <a name="AuthFormPassword" id="AuthFormPassword">AuthFormPassword</a></h2>
658 <table class="directive">
659 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contient le mot de passe
660 de connexion</td></tr>
661 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormPassword <var>nom du champ</var></code></td></tr>
662 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_password</code></td></tr>
663 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
664 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
665 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
666 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
667 </table>
668     <p>La directive <code class="directive"><a href="#authformpassword">AuthFormPassword</a></code> permet de
669     spécifier le nom du champ HTML qui, s'il existe, contiendra le mot
670     de passe qui sera utilisé pour la connexion.</p>
671
672 </div>
673 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
674 <div class="directive-section"><h2><a name="authformprovider" id="authformprovider">Directive</a> <a name="AuthFormProvider" id="AuthFormProvider">AuthFormProvider</a></h2>
675 <table class="directive">
676 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(s) fournisseur(s) d'authentification pour la
677 zone concernée</td></tr>
678 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormProvider <var>nom fournisseur</var>
679 [<var>nom fournisseur</var>] ...</code></td></tr>
680 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthFormProvider file</code></td></tr>
681 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
682 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
683 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
684 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
685 </table>
686     <p>La directive <code class="directive">AuthFormProvider</code> permet de
687     définir quel fournisseur sera utilisé pour authentifier les
688     utilisateurs pour la zone concernée. Le fournisseur par défaut
689     <code>file</code> est implémenté par le module
690     <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Assurez-vous que le fournisseur
691     choisi soit bien présent dans le serveur.</p>
692
693     <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config">&lt;Location "/secure"&gt;
694     AuthType form
695     AuthName "private area"
696     AuthFormProvider  dbm
697     AuthDBMType        SDBM
698     AuthDBMUserFile    "/www/etc/dbmpasswd"
699     Require            valid-user
700     #...
701 &lt;/Location&gt;</pre>
702 </div>
703
704     <p>Les différents fournisseurs sont implémentés par les modules
705     <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>, <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>,
706     <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> et
707     <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code>.</p>
708
709 </div>
710 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
711 <div class="directive-section"><h2><a name="authformsitepassphrase" id="authformsitepassphrase">Directive</a> <a name="AuthFormSitePassphrase" id="AuthFormSitePassphrase">AuthFormSitePassphrase</a></h2>
712 <table class="directive">
713 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Court-circuite l'authentification pour les sites à fort
714 trafic</td></tr>
715 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormSitePassphrase <var>secret</var></code></td></tr>
716 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
717 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
718 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
719 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
720 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
721 </table>
722     <p>La directive <code class="directive"><a href="#authformsitepassphrase">AuthFormSitePassphrase</a></code>
723     spécifie un mot de passe qui, s'il est présent dans la session
724     utilisateur, indique à Apache httpd de court-circuiter l'authentification
725     pour l'URL considérée. On peut l'utiliser dans le cas de sites web à
726     fort trafic afin de réduire la charge induite sur l'infrastructure
727     d'authentification.</p>
728
729     <p>On peut insérer le mot de passe dans une session utilisateur en
730     ajoutant cette directive à la configuration concernant le
731     gestionnaire <var>form-login-handler</var>. Le gestionnaire
732     <var>form-login-handler</var>, quant à lui, effectuera toujours les
733     vérifications d'authentification, qu'un mot de passe soit spécifié
734     ou non.</p>
735
736     <div class="warning"><h3>Avertissement</h3>
737       <p>Si la session est présentée à l'utilisateur à l'aide du module
738       <code class="module"><a href="../mod/mod_session_cookie.html">mod_session_cookie</a></code>, et si la session n'est pas
739       protégée par le module <code class="module"><a href="../mod/mod_session_crypto.html">mod_session_crypto</a></code>, le mot
740       de passe peut faire l'objet d'une attaque de type dictionnaire.
741       Quelle que soit la configuration de la session, assurez-vous que
742       cette directive n'est pas utilisée dans un espace d'URLs contenant
743       des données privées, ou à partir desquelles des transactions
744       sensibles pourraient être menées. En tout état de cause, vous
745       devez être conscient des risques encourus avant de l'utiliser.</p>
746     </div>
747
748
749 </div>
750 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
751 <div class="directive-section"><h2><a name="authformsize" id="authformsize">Directive</a> <a name="AuthFormSize" id="AuthFormSize">AuthFormSize</a></h2>
752 <table class="directive">
753 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>La taille maximale en octets du formulaire dont seront
754 extraites les informations de connexion</td></tr>
755 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormSize <var>taille</var></code></td></tr>
756 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>8192</code></td></tr>
757 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
758 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
759 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
760 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.0 du serveur HTTP Apache</td></tr>
761 </table>
762     <p>La directive <code class="directive"><a href="#authformsize">AuthFormSize</a></code> spécifie
763     la taille maximale du corps de la requête qui sera utilisée pour
764     trouver le formulaire de connexion.</p>
765
766     <p>Si une requête de connexion entrante possède une taille
767     supérieure à cette valeur, elle sera rejetée avec le code de réponse
768     HTTP <code>HTTP_REQUEST_TOO_LARGE</code>.</p>
769
770     <p>Si vous avez ajouté au formulaire des champs décrits dans <code class="directive"><a href="#authformmethod">AuthFormMethod</a></code>, <code class="directive"><a href="#authformmimetype">AuthFormMimetype</a></code> et <code class="directive"><a href="#authformbody">AuthFormBody</a></code>, il est recommandé
771     de définir cette directive à une valeur similaire à celle de la
772     directive <code class="directive"><a href="../mod/mod_request.html#keptbodysize">KeptBodySize</a></code>.</p>
773
774
775 </div>
776 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
777 <div class="directive-section"><h2><a name="authformusername" id="authformusername">Directive</a> <a name="AuthFormUsername" id="AuthFormUsername">AuthFormUsername</a></h2>
778 <table class="directive">
779 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Le nom du champ de formulaire qui contient le nom de
780 connexion</td></tr>
781 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthFormUsername <var>nom du champ</var></code></td></tr>
782 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>httpd_username</code></td></tr>
783 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
784 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
785 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_form</td></tr>
786 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.3.3 du serveur HTTP Apache</td></tr>
787 </table>
788     <p>La directive <code class="directive"><a href="#authformusername">AuthFormUsername</a></code> permet de
789     spécifier le nom du champ HTML qui, s'il existe, contiendra le nom
790     d'utilisateur qui sera utilisé pour la connexion.</p>
791
792 </div>
793 </div>
794 <div class="bottomlang">
795 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_form.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
796 <a href="../fr/mod/mod_auth_form.html" title="Français">&nbsp;fr&nbsp;</a></p>
797 </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>
798 <script type="text/javascript"><!--//--><![CDATA[//><!--
799 var comments_shortname = 'httpd';
800 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_auth_form.html';
801 (function(w, d) {
802     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
803         d.write('<div id="comments_thread"><\/div>');
804         var s = d.createElement('script');
805         s.type = 'text/javascript';
806         s.async = true;
807         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
808         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
809     }
810     else {
811         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
812     }
813 })(window, document);
814 //--><!]]></script></div><div id="footer">
815 <p class="apache">Copyright 2016 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
816 <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[//><!--
817 if (typeof(prettyPrint) !== 'undefined') {
818     prettyPrint();
819 }
820 //--><!]]></script>
821 </body></html>