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