| <?xml version="1.0" encoding="UTF-8" ?> | |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> | |
| <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?> | |
| <!-- English Revision: 1939369 --> | |
| <!-- French translation : Lucien GENTIS --> | |
| <!-- Reviewed by : Vincent Deffontaines --> | |
| <!-- | |
| Licensed to the Apache Software Foundation (ASF) under one or more | |
| contributor license agreements. See the NOTICE file distributed with | |
| this work for additional information regarding copyright ownership. | |
| The ASF licenses this file to You under the Apache License, Version 2.0 | |
| (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software | |
| distributed under the License is distributed on an "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| See the License for the specific language governing permissions and | |
| limitations under the License. | |
| --> | |
| <modulesynopsis metafile="mod_auth_form.xml.meta"> | |
| <name>mod_auth_form</name> | |
| <description>Authentification à l'aide d'un formulaire</description> | |
| <status>Base</status> | |
| <sourcefile>mod_auth_form.c</sourcefile> | |
| <identifier>auth_form_module</identifier> | |
| <compatibility>Disponible à partir d'Apache 2.3</compatibility> | |
| <summary> | |
| <note type="warning"><title>Avertissement</title> | |
| <p>L'authentification à base de formulaire dépend des modules | |
| <module>mod_session</module> qui utilisent les cookies HTTP, et en | |
| tant que tels s'exposent à des attaques de type Cross Site | |
| Scripting, ou risquent de divulguer des informations à caractère | |
| privé aux clients. Assurez-vous que ces risques ont bien été pris | |
| en compte avant d'activer les sessions sur votre serveur.</p> | |
| </note> | |
| <p>Ce module permet de restreindre l'accès en recherchant les | |
| utilisateurs dans les fournisseurs spécifiés à l'aide d'un | |
| formulaire de connexion HTML. Les formulaires HTML requièrent | |
| davantage de configuration que les méthodes d'authentification | |
| alternatives, mais ils peuvent s'avérer beaucoup plus conviviaux | |
| pour les utilisateurs. | |
| </p> | |
| <p>L'authentification HTTP de base est fournie par le module | |
| <module>mod_auth_basic</module>, et l'authentification HTTP à base | |
| de condensé par le module <module>mod_auth_digest</module>. Le | |
| module <module>mod_auth_form</module> doit être utilisé avec au | |
| moins un module d'authentification du style | |
| <module>mod_authn_file</module> et un module d'autorisation comme | |
| <module>mod_authz_user</module>.</p> | |
| <p>Lorsque l'utilisateur a été authentifié avec succès, ses | |
| informations de connexion sont stockés dans une session fournie par | |
| le module <module>mod_session</module>. | |
| </p> | |
| </summary> | |
| <seealso><module>mod_session</module></seealso> | |
| <seealso><directive module="mod_authn_core">AuthName</directive></seealso> | |
| <seealso><directive module="mod_authn_core">AuthType</directive></seealso> | |
| <seealso><directive module="mod_authz_core">Require</directive></seealso> | |
| <seealso><a href="../howto/auth.html">Mise en oeuvre de | |
| l'authentification</a></seealso> | |
| <section id="basicconfig"><title>Configuration de base</title> | |
| <p>Pour protéger une URL particulière avec le module | |
| <module>mod_auth_form</module>, vous devez déterminer l'endroit où | |
| vous allez stocker votre <var>session</var>, ainsi que la méthode | |
| d'authentification. Dans cet exemple simple, les informations de | |
| connexion sont stockées dans une session à l'aide du module | |
| <module>mod_session_cookie</module>, et l'authentification utilise | |
| un fichier en s'appuyant sur le module | |
| <module>mod_authn_file</module>. Si l'authentification échoue, | |
| l'utilisateur dera redirigé vers la page du formulaire de | |
| connexion.</p> | |
| <example><title>Exemple simple</title> | |
| <highlight language="config"> | |
| <Location "/admin"> | |
| AuthFormProvider file | |
| AuthUserFile "conf/passwd" | |
| AuthType form | |
| AuthName "/admin" | |
| AuthFormLoginRequiredLocation "http://example.com/login.html" | |
| Session On | |
| SessionCookieName session path=/ | |
| Require valid-user | |
| </Location> | |
| </highlight> | |
| </example> | |
| <p>L'authentification <module>mod_auth_form</module> est activée | |
| en affectant la valeur <var>form</var> à la directive <directive | |
| module="mod_authn_core">AuthType</directive>. Les directives | |
| <directive module="mod_auth_form">AuthFormProvider</directive> et | |
| <directive module="mod_authn_file">AuthUserFile</directive> | |
| spécifient que les noms d'utilisateurs et mots de passe seront | |
| vérifiés en utilisant le fichier choisi.</p> | |
| <p>Les directives <directive | |
| module="mod_session">Session</directive> et <directive | |
| module="mod_session_cookie">SessionCookieName</directive> | |
| créent une session stockée dans un cookie HTTP au niveau | |
| du navigateur. Pour plus d'informations à propos des différentes | |
| options de configuration des sessions, reportez-vous à la | |
| documentation du module <module>mod_session</module>.</p> | |
| <p>Si vous le souhaitez, vous pouvez ajoutez une directive <directive | |
| module="mod_session_crypto">SessionCryptoPassphrase</directive> pour créer | |
| un cookie de session chiffré. Le module | |
| <module>mod_session_crypto</module> doit alors avoir été préalablement | |
| chargé.</p> | |
| <p>Dans l'exemple simple ci-dessus, une URL a été protégée par | |
| <module>mod_auth_form</module>, mais on doit maintenant fournir | |
| à l'utilisateur un moyen d'entrer un nom et un mot de passe. À cet | |
| effet, on peut soit écrire une page de connexion indépendante | |
| dédiée, soit inclure le formulaire de connexion dans la page | |
| courante.</p> | |
| </section> | |
| <section id="standalone"><title>Page de connexion dédiée</title> | |
| <p>Le formulaire de connexion peut être contenu dans une page | |
| indépendante, ou être inclus dans la page courante. </p> | |
| <p>Lorsque la connexion s'effectue à partir d'une page | |
| indépendante et si la tentative d'authentification échoue, | |
| l'utilisateur doit être redirigé vers un formulaire de connexion, | |
| créé à cet effet sur le site web, en utilisant la directive | |
| <directive | |
| module="mod_auth_form">AuthFormLoginRequiredLocation</directive>. | |
| En général, la page de connexion contiendra un formulaire HTML | |
| demandant à l'utilisateur de fournir un nom et un mot de passe.</p> | |
| <example><title>Exemple de formulaire de connexion</title> | |
| <highlight language="html"> | |
| <form method="POST" action="/dologin.html"> | |
| Username: <input type="text" name="httpd_username" value="" /> | |
| Password: <input type="password" name="httpd_password" value="" /> | |
| <input type="submit" name="login" value="Login" /> | |
| </form> | |
| </highlight> | |
| </example> | |
| <p>La partie où s'effectue la connexion proprement dite est | |
| traitée par le gestionnaire <var>form-login-handler</var>. | |
| L'action de ce formulaire doit pointer vers ce gestionnaire, ce | |
| que l'on configure dans Apache httpd comme suit :</p> | |
| <example><title>Exemple de configuration du gestionnaire de | |
| formulaire de connexion</title> | |
| <highlight language="config"> | |
| <Location "/dologin.html"> | |
| SetHandler form-login-handler | |
| AuthFormLoginRequiredLocation "http://example.com/login.html" | |
| AuthFormLoginSuccessLocation "http://example.com/admin/index.html" | |
| AuthFormProvider file | |
| AuthUserFile "conf/passwd" | |
| AuthType form | |
| AuthName /admin | |
| Session On | |
| SessionCookieName session path=/ | |
| </Location> | |
| </highlight> | |
| </example> | |
| <p>L'URL spécifiée par la directive | |
| <directive module="mod_auth_form">AuthFormLoginRequiredLocation</directive> | |
| référencera en général une page expliquant à l'utilisateur que sa | |
| tentative de connexion a échoué, et qu'il doit la renouveler. La | |
| directive <directive | |
| module="mod_auth_form">AuthFormLoginSuccessLocation</directive> | |
| spécifie l'URL vers laquelle l'utilisateur doit être redirigé s'il | |
| s'est authentifié avec succès.</p> | |
| <p>Alternativement, l'URL vers laquelle doit être redirigé | |
| l'utilisateur s'il s'est authentifié avec succès peut être | |
| intégrée dans le formulaire de connexion, comme dans l'exemple | |
| ci-dessous. Il en découle que le même gestionnaire | |
| <var>form-login-handler</var> pourra être utilisé pour différentes | |
| zones du site web.</p> | |
| <example><title>Exemple de formulaire d'authentification multizone</title> | |
| <highlight language="html"> | |
| <form method="POST" action="/dologin.html"> | |
| Username: <input type="text" name="httpd_username" value="" /> | |
| Password: <input type="password" name="httpd_password" value="" /> | |
| <input type="submit" name="login" value="Login" /> | |
| <input type="hidden" name="httpd_location" value="http://example.com/success.html" /> | |
| </form> | |
| </highlight> | |
| </example> | |
| </section> | |
| <section id="inline"><title>Connexion à la volée</title> | |
| <note type="warning"><title>Avertissement</title> | |
| <p>Il existe un risque, dans certaines circonstances, que le | |
| formulaire de connexion configuré pour une connexion à la volée | |
| soit soumis plusieurs fois, révélant de ce fait les paramètres | |
| de connexion à l'application sous-jacente. L'administrateur doit | |
| s'assurer que cette dernière est correctement sécurisée afin | |
| d'éviter les éventuels abus. En cas de doute, utilisez une page | |
| de connexion indépendante dédiée.</p> | |
| </note> | |
| <p>Comme alternative à la page de connexion dédiée pour un site | |
| web, il est possible de configurer <module>mod_auth_form</module> | |
| pour authentifier les utilisateurs à la volée, sans les rediriger | |
| vers une autre page, ce qui permet de conserver l'état de la page | |
| courante au cours de la tentative de connexion. Ceci peut s'avérer | |
| utile dans le cas d'une session limitée dans le temps, si le délai | |
| de la session a expiré pendant la requête de l'utilisateur. Ce | |
| dernier peut alors se réauthentifier à la même place, et | |
| poursuivre son activité à partir du point où il en était resté.</p> | |
| <p>Si un utilisateur non authentifié tente d'accéder à une page | |
| protégée par <module>mod_auth_form</module>, et si ce dernier | |
| n'est pas configuré avec une directive <directive | |
| module="mod_auth_form">AuthFormLoginRequiredLocation</directive>, | |
| un code de statut <var>HTTP_UNAUTHORIZED</var> est renvoyé vers le | |
| navigateur, indiquant à l'utilisateur qu'il n'est pas autorisé à | |
| accéder à cette page.</p> | |
| <p>Pour configurer l'authentification à la volée, l'administrateur | |
| remplace le message d'erreur renvoyé par le code de statut | |
| <var>HTTP_UNAUTHORIZED</var> par un message d'erreur personnalisé | |
| contenant le formulaire de connexion comme suit :</p> | |
| <example><title>Exemple simple d'authentification à la volée</title> | |
| <highlight language="config"> | |
| AuthFormProvider file | |
| ErrorDocument 401 "/login.shtml" | |
| AuthUserFile "conf/passwd" | |
| AuthType form | |
| AuthName /admin | |
| Session On | |
| SessionCookieName session path=/ | |
| </highlight> | |
| </example> | |
| <p>La page du message d'erreur doit contenir un formulaire de | |
| connexion dont la propriété action est vide, comme dans l'exemple | |
| ci-dessous. Ceci a pour effet de soumettre le formulaire à l'URL | |
| protégée originale, cette dernière n'ayant pas besoin d'être | |
| connue de la page en cours.</p> | |
| <example><title>Exemple de formulaire de connexion à la volée</title> | |
| <highlight language="html"> | |
| <form method="POST" <strong>action=""</strong>> | |
| Username: <input type="text" name="httpd_username" value="" /> | |
| Password: <input type="password" name="httpd_password" value="" /> | |
| <input type="submit" name="login" value="Login" /> | |
| </form> | |
| </highlight> | |
| </example> | |
| <p>Lorsque l'utilisateur final a entré ses informations de | |
| connexion, le formulaire effectue une requête HTTP POST pour l'URL | |
| originale protégée par mot de passe. | |
| <module>mod_auth_form</module> va alors intercepter cette requête | |
| POST, et dans le cas où des champs HTML Utilisateur et Mot de | |
| passe corrects sont présents, l'utilisateur sera connecté, et | |
| l'URL originale protégée par mot de passe lui sera retournée en | |
| tant que requête GET.</p> | |
| </section> | |
| <section id="inlinepreservebody"><title>Connexion à la volée avec | |
| conservation du contenu</title> | |
| <p>Il existe une limite à la technique de connexion à la volée | |
| décrite ci-dessus ; si un formulaire HTML POST entraîne une | |
| demande d'authentification ou de réauthentification, le contenu du | |
| formulaire original envoyé par le navigateur sera perdu. Cela peut | |
| s'avérer plus ou moins gênant pour l'utilisateur final selon la | |
| fonction du site web.</p> | |
| <p>Comme solution à ce problème, <module>mod_auth_form</module> | |
| permet d'intégrer la méthode et le contenu de la requête originale | |
| dans le formulaire de connexion. Si l'authentification réussit, | |
| Apache httpd pourra refaire une tentative avec la méthode et le contenu | |
| originaux, tout en conservant l'état de la requête originale.</p> | |
| <p>Pour mettre en oeuvre la conservation du contenu, vous devez | |
| ajouter trois champs supplémentaires au formulaire de connexion | |
| comme dans l'exemple suivant :</p> | |
| <example><title>Exemple de formulaire avec conservation du | |
| contenu</title> | |
| <highlight language="html"> | |
| <form method="POST" action=""> | |
| Username: <input type="text" name="httpd_username" value="" /> | |
| Password: <input type="password" name="httpd_password" value="" /> | |
| <input type="submit" name="login" value="Login" /> | |
| <br/> <strong><input type="hidden" name="httpd_method" value="POST" /> | |
| <input type="hidden" name="httpd_mimetype" value="application/x-www-form-urlencoded" /> | |
| <input type="hidden" name="httpd_body" value="name1=value1&name2=value2" /></strong><br/> | |
| </form> | |
| </highlight> | |
| </example> | |
| <p>La manière dont la méthode, le type MIME et le contenu de la | |
| requête originale seront intégrés dans le formulaire de connexion | |
| vont dépendre de la plate-forme et de la technologie utilisées au | |
| sein du site web. | |
| </p> | |
| <p>Une option consiste à utiliser le module | |
| <module>mod_include</module> en association avec la directive | |
| <directive module="mod_request">KeptBodySize</directive>, ainsi | |
| qu'un script CGI adapté pour intégrer les variables dans le | |
| formulaire.</p> | |
| <p>Une autre option consiste à présenter le formulaire de | |
| connexion en utilisant un script CGI ou une autre technologie | |
| dynamique.</p> | |
| <example><title>Exemple avec script CGI</title> | |
| <highlight language="config"> | |
| AuthFormProvider file | |
| ErrorDocument 401 "/cgi-bin/login.cgi" | |
| ... | |
| </highlight> | |
| </example> | |
| </section> | |
| <section id="loggingout"><title>Déconnexion</title> | |
| <p>Pour permettre à un utilisateur de se déconnecter d'une session | |
| particulière, vous devez configurer une page pour qu'elle soit | |
| traitée par le gestionnaire <var>form-logout-handler</var>. Tout | |
| accès à cette URL va entraîner la suppression de l'Utilisateur et | |
| du Mot de passe de la session courante, ce qui aura pour effet de | |
| déconnecter l'utilisateur.</p> | |
| <p>Vous pouvez spécifier une URL vers laquelle le navigateur sera | |
| redirigé en cas de déconnection réussie, en définissant la | |
| directive <directive | |
| module="mod_auth_form">AuthFormLogoutLocation</directive>. Cette | |
| URL devra expliquer à l'utilisateur qu'il a été déconnecté, et lui | |
| donner la possibilité de se connecter à nouveau.</p> | |
| <example><title>Exemple simple de configuration de la | |
| déconnexion</title> | |
| <highlight language="config"> | |
| SetHandler form-logout-handler | |
| AuthName realm | |
| AuthFormLogoutLocation "http://example.com/loggedout.html" | |
| Session On | |
| SessionCookieName session path=/ | |
| </highlight> | |
| </example> | |
| <p>Notez que la déconnexion d'un utilisateur ne supprime pas la | |
| session ; elle supprime seulement l'utilisateur et le mot de passe | |
| de la session. Si la session qui en résulte est vide, elle sera | |
| probablement supprimée, mais ce n'est pas garanti. Si vous voulez | |
| être sûr que la session sera supprimée, affectez une valeur faible | |
| à la directive <directive | |
| module="mod_session">SessionMaxAge</directive>, par exemple 1 | |
| (affecter à cette directive la valeur zéro signifie une session | |
| sans limite d'âge). | |
| </p> | |
| <example><title>Exemple simple avec durée de validité de session | |
| limitée</title> | |
| <highlight language="config"> | |
| SetHandler form-logout-handler | |
| AuthFormLogoutLocation "http://example.com/loggedout.html" | |
| Session On | |
| SessionMaxAge 1 | |
| SessionCookieName session path=/ | |
| </highlight> | |
| </example> | |
| </section> | |
| <section id="urlencoding"><title>Noms d'utilisateurs et mots de | |
| passe</title> | |
| <p>Notez que la soumission d'un formulaire implique l'encodage URL | |
| (URLEncoding) des données du formulaire, ici le nom d'utilisateur et | |
| le mot de passe. Vous devez donc choisir des noms d'utilisateurs et | |
| mots de passe qui ne contiennent pas de caractères susceptibles | |
| d'être encodés URL lors de la soumission du formulaire, sous peine | |
| d'obtenir des résultats inattendus.</p> | |
| </section> | |
| <directivesynopsis> | |
| <name>AuthFormProvider</name> | |
| <description>Définit le(s) fournisseur(s) d'authentification pour la | |
| zone concernée</description> | |
| <syntax>AuthFormProvider <var>nom fournisseur</var> | |
| [<var>nom fournisseur</var>] ...</syntax> | |
| <default>AuthFormProvider file</default> | |
| <contextlist><context>directory</context><context>.htaccess</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <usage> | |
| <p>La directive <directive>AuthFormProvider</directive> permet de | |
| définir quel fournisseur sera utilisé pour authentifier les | |
| utilisateurs pour la zone concernée. Le fournisseur par défaut | |
| <code>file</code> est implémenté par le module | |
| <module>mod_authn_file</module>. Assurez-vous que le fournisseur | |
| choisi soit bien présent dans le serveur.</p> | |
| <example><title>Exemple</title> | |
| <highlight language="config"> | |
| <Location "/secure"> | |
| AuthType form | |
| AuthName "private area" | |
| AuthFormProvider dbm | |
| AuthDBMType SDBM | |
| AuthDBMUserFile "/www/etc/dbmpasswd" | |
| Require valid-user | |
| #... | |
| </Location> | |
| </highlight> | |
| </example> | |
| <p>Les différents fournisseurs sont implémentés par les modules | |
| <module>mod_authn_dbm</module>, <module>mod_authn_file</module>, | |
| <module>mod_authn_dbd</module> et | |
| <module>mod_authnz_ldap</module>.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormAuthoritative</name> | |
| <description>Détermine si l'autorisation et l'authentification sont confiés à | |
| des modules de plus bas niveau</description> | |
| <syntax>AuthFormAuthoritative On|Off</syntax> | |
| <default>AuthFormAuthoritative On</default> | |
| <contextlist><context>directory</context><context>.htaccess</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <usage> | |
| <p>Normalement, chacun des modules d'autorisation spécifiés par la | |
| directive <directive | |
| module="mod_auth_form">AuthFormProvider</directive> va tenter de | |
| vérifier l'identité de l'utilisateur, et si ce dernier n'est trouvé | |
| dans aucun fournisseur, l'accès sera refusé. En définissant | |
| explicitement la directive | |
| <directive>AuthFormAuthoritative</directive> à <code>Off</code> on | |
| confie les processus d'authentification et d'autorisation à des | |
| modules ne s'appuyant pas sur des fournisseurs, si <strong>aucun | |
| identifiant utilisateur</strong> ou aucune <strong>règle</strong> ne | |
| correspond à l'identifiant utilisateur fourni. Ceci ne peut s'avérer | |
| nécessaire que si l'on combine <module>mod_auth_form</module> avec | |
| des modules tiers qui ne se configurent pas avec la directive | |
| <directive module="mod_auth_form">AuthFormProvider</directive>. | |
| Lorsqu'on utilise de tels modules, la chronologie du processus est | |
| déterminée dans leur code source, et n'est pas configurable.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormUsername</name> | |
| <description>Le nom du champ de formulaire qui contient le nom de | |
| connexion</description> | |
| <syntax>AuthFormUsername <var>nom du champ</var></syntax> | |
| <default>AuthFormUsername httpd_username</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.3 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormUsername</directive> permet de | |
| spécifier le nom du champ HTML qui, s'il existe, contiendra le nom | |
| d'utilisateur qui sera utilisé pour la connexion.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormPassword</name> | |
| <description>Le nom du champ de formulaire qui contient le mot de passe | |
| de connexion</description> | |
| <syntax>AuthFormPassword <var>nom du champ</var></syntax> | |
| <default>AuthFormPassword httpd_password</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormPassword</directive> permet de | |
| spécifier le nom du champ HTML qui, s'il existe, contiendra le mot | |
| de passe qui sera utilisé pour la connexion.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormLocation</name> | |
| <description>Le nom du champ de formulaire qui contiendra l'URL vers | |
| laquelle l'utilisateur sera redirigé en cas de connexion | |
| réussie</description> | |
| <syntax>AuthFormLocation <var>nom du champ</var></syntax> | |
| <default>AuthFormLocation httpd_location</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormLocation</directive> | |
| spécifie le nom du champ HTML qui, s'il existe, contiendra l'URL | |
| vers laquelle rediriger le navigateur en cas de connexion | |
| réussie.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormMethod</name> | |
| <description>Le nom du champ de formulaire contenant la méthode de la | |
| requête à effectuer en cas de connexion réussie</description> | |
| <syntax>AuthFormMethod <var>nom du champ</var></syntax> | |
| <default>AuthFormMethod httpd_method</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormMethod</directive> | |
| spécifie le nom du champ HTML qui, s'il existe, contiendra le type | |
| MIME de la requête à effectuer en cas de connexion réussie.</p> | |
| <p>En ajoutant au formulaire les champs décrits dans <directive | |
| module="mod_auth_form">AuthFormMethod</directive>, <directive | |
| module="mod_auth_form">AuthFormMimetype</directive> et <directive | |
| module="mod_auth_form">AuthFormBody</directive>, un site web sera en | |
| mesure de relancer une requête qui a été éventuellement interrompue | |
| par l'écran de connexion, ou par l'expiration d'un délai de | |
| session.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormMimetype</name> | |
| <description>Le nom du champ de formulaire contenant le type MIME du | |
| corps de la requête à effectuer en cas de connexion | |
| réussie</description> | |
| <syntax>AuthFormMimetype <var>nom du champ</var></syntax> | |
| <default>AuthFormMimetype httpd_mimetype</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormMimetype</directive> | |
| spécifie le nom du champ HTML qui, s'il existe, contiendra le type | |
| MIME de la requête à effectuer en cas de connexion réussie.</p> | |
| <p>En ajoutant au formulaire les champs décrits dans <directive | |
| module="mod_auth_form">AuthFormMethod</directive>, <directive | |
| module="mod_auth_form">AuthFormMimetype</directive> et <directive | |
| module="mod_auth_form">AuthFormBody</directive>, un site web sera en | |
| mesure de relancer une requête qui a été éventuellement interrompue | |
| par l'écran de connexion, ou par l'expiration d'un délai de | |
| session.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormBody</name> | |
| <description>Le nom du champ de formulaire contenant le corps de la | |
| requête à effectuer en cas de connexion réussie</description> | |
| <syntax>AuthFormBody <var>nom du champ</var></syntax> | |
| <default>AuthFormBody httpd_body</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormBody</directive> | |
| spécifie le nom du champ HTML qui, s'il existe, contiendra le corps | |
| de la requête à effectuer en cas de connexion réussie.</p> | |
| <p>En ajoutant au formulaire les champs décrits dans <directive | |
| module="mod_auth_form">AuthFormMethod</directive>, <directive | |
| module="mod_auth_form">AuthFormMimetype</directive> et <directive | |
| module="mod_auth_form">AuthFormBody</directive>, un site web sera en | |
| mesure de relancer une requête qui a été éventuellement interrompue | |
| par l'écran de connexion, ou par l'expiration d'un délai de | |
| session.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormSize</name> | |
| <description>La taille maximale en octets du formulaire dont seront | |
| extraites les informations de connexion</description> | |
| <syntax>AuthFormSize <var>taille</var></syntax> | |
| <default>AuthFormSize 8192</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormSize</directive> spécifie | |
| la taille maximale du corps de la requête qui sera utilisée pour | |
| trouver le formulaire de connexion.</p> | |
| <p>Si une requête de connexion entrante possède une taille | |
| supérieure à cette valeur, elle sera rejetée avec le code de réponse | |
| HTTP <code>HTTP_REQUEST_TOO_LARGE</code>.</p> | |
| <p>Si vous avez ajouté au formulaire des champs décrits dans <directive | |
| module="mod_auth_form">AuthFormMethod</directive>, <directive | |
| module="mod_auth_form">AuthFormMimetype</directive> et <directive | |
| module="mod_auth_form">AuthFormBody</directive>, il est recommandé | |
| de définir cette directive à une valeur similaire à celle de la | |
| directive <directive module="mod_request">KeptBodySize</directive>.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormLoginRequiredLocation</name> | |
| <description>L'URL de la page vers laquelle on doit être redirigé si une | |
| authentification est requise</description> | |
| <syntax>AuthFormLoginRequiredLocation <var>url</var></syntax> | |
| <default>none</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP | |
| Apache. L'interprétation des expressions rationnelles est supportée | |
| depuis la version 2.4.4.</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormLoginRequiredLocation</directive> | |
| spécifie l'URL vers laquelle l'utilisateur devra être | |
| redirigé s'il n'est pas autorisé à accéder à une page. Sa valeur est | |
| interprétée via l'interpréteur <a href="../expr.html">ap_expr</a> | |
| avant d'être envoyée au client. Par défaut, | |
| si un utilisateur n'est pas autorisé à accéder à une page, le code | |
| de réponse HTTP <code>HTTP_UNAUTHORIZED</code> est renvoyé avec la | |
| page spécifiée par la directive <directive | |
| module="core">ErrorDocument</directive>. La directive <directive | |
| module="mod_auth_form">AuthFormLoginRequiredLocation</directive> | |
| permet de remplacer cette valeur par défaut.</p> | |
| <p>Vous pouvez utiliser cette directive si vous voulez présenter une | |
| page de connexion personnalisée à vos utilisateurs.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormLoginSuccessLocation</name> | |
| <description>L'URL de la page vers laquelle on doit être redirigé en cas | |
| de connexion réussie</description> | |
| <syntax>AuthFormLoginSuccessLocation <var>url</var></syntax> | |
| <default>none</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP | |
| Apache. L'interprétation des expressions rationnelles est supportée | |
| depuis la version 2.4.4.</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormLoginSuccessLocation</directive> | |
| spécifie l'URL vers laquelle l'utilisateur doit être | |
| redirigé en cas de connexion réussie. Sa valeur est | |
| interprétée via l'interpréteur <a href="../expr.html">ap_expr</a> | |
| avant d'être envoyée au client. L'effet de cette directive | |
| peut être annulé si l'on a défini un champ de formulaire contenant | |
| une autre URL à l'aide de la directive <directive | |
| module="mod_auth_form">AuthFormLocation</directive>.</p> | |
| <p>Vous pouvez utiliser cette directive si vous possédez une URL de | |
| connexion personnalisée, et si vous n'avez pas intégré la page de | |
| destination dans le formulaire de connexion.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormFakeBasicAuth</name> | |
| <description>Simule une en-tête d'authentification de base</description> | |
| <syntax>AuthFormFakeBasicAuth On|Off</syntax> | |
| <default>AuthFormFakeBasicAuth Off</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>Le drapeau <directive | |
| module="mod_auth_form">AuthFormFakeBasicAuth</directive> | |
| détermine si une en-tête d'<code>Authentification de base</code> | |
| sera ajoutée aux en-têtes de la requête. On peut utiliser cette | |
| méthode pour présenter le nom d'utilisateur et le mot de passe à | |
| l'application sous-jacente, sans que cette dernière ait besoin de | |
| connaître la manière dont le processus de connexion a été mené à | |
| bien.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormLogoutLocation</name> | |
| <description>L'URL vers laquelle un utilisateur devra être redirigé | |
| après s'être déconnecté</description> | |
| <syntax>AuthFormLogoutLocation <var>uri</var></syntax> | |
| <default>none</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP | |
| Apache. L'interprétation des expressions rationnelles est supportée | |
| depuis la version 2.4.4.</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormLogoutLocation</directive> | |
| spécifie l'URL de la page du serveur vers laquelle l'utilisateur | |
| devra être redirigé s'il se déconnecte. Sa valeur est | |
| interprétée via l'interpréteur <a href="../expr.html">ap_expr</a> | |
| avant d'être envoyée au client.</p> | |
| <p>Lorsqu'un accès est tenté sur un URI traité par le gestionnaire | |
| <code>form-logout-handler</code>, la page spécifiée par cette | |
| directive sera présentée à l'utilisateur final. Par exemple :</p> | |
| <example><title>Exemple</title> | |
| <highlight language="config"> | |
| <Location "/logout"> | |
| SetHandler form-logout-handler | |
| AuthFormLogoutLocation "http://example.com/loggedout.html" | |
| Session on | |
| #... | |
| </Location> | |
| </highlight> | |
| </example> | |
| <p>Si un utilisateur tente d'accéder à l'URI <var>/logout/</var>, il | |
| sera déconnecté, et la page <var>/loggedout.html</var> lui sera | |
| présentée. Assurez-vous que la page <var>loggedout.html</var> n'est | |
| pas protégée par mot de passe, car dans le cas contraire, elle ne | |
| serait pas affichée.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormDisableNoStore</name> | |
| <description>Désactive l'en-tête CacheControl no-store sur la page de | |
| connexion</description> | |
| <syntax>AuthFormDisableNoStore On|Off</syntax> | |
| <default>AuthFormDisableNoStore Off</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>Le drapeau <directive | |
| module="mod_auth_form">AuthFormDisableNoStore</directive> supprime | |
| l'envoi d'un en-tête <code>Cache-Control no-store</code> lorsqu'une | |
| page avec code d'erreur 401 est renvoyée, si l'utilisateur n'est pas | |
| encore connecté. Avec cette en-tête, il est plus difficile pour une | |
| application <code>ecmascript</code> de resoumettre un formulaire de connexion, et | |
| ainsi révéler le nom d'utilisateur et le mot de passe à | |
| l'application sous-jacente. Vous devez être conscient des risques | |
| encourus si vous le désactivez.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthFormSitePassphrase</name> | |
| <description>Court-circuite l'authentification pour les sites à fort | |
| trafic</description> | |
| <syntax>AuthFormSitePassphrase <var>secret</var></syntax> | |
| <default>none</default> | |
| <contextlist><context>directory</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility> | |
| <usage> | |
| <p>La directive <directive | |
| module="mod_auth_form">AuthFormSitePassphrase</directive> | |
| spécifie un mot de passe qui, s'il est présent dans la session | |
| utilisateur, indique à Apache httpd de court-circuiter l'authentification | |
| pour l'URL considérée. On peut l'utiliser dans le cas de sites web à | |
| fort trafic afin de réduire la charge induite sur l'infrastructure | |
| d'authentification.</p> | |
| <p>On peut insérer le mot de passe dans une session utilisateur en | |
| ajoutant cette directive à la configuration concernant le | |
| gestionnaire <var>form-login-handler</var>. Le gestionnaire | |
| <var>form-login-handler</var>, quant à lui, effectuera toujours les | |
| vérifications d'authentification, qu'un mot de passe soit spécifié | |
| ou non.</p> | |
| <note type="warning"><title>Avertissement</title> | |
| <p>Si la session est présentée à l'utilisateur à l'aide du module | |
| <module>mod_session_cookie</module>, et si la session n'est pas | |
| protégée par le module <module>mod_session_crypto</module>, le mot | |
| de passe peut faire l'objet d'une attaque de type dictionnaire. | |
| Quelle que soit la configuration de la session, assurez-vous que | |
| cette directive n'est pas utilisée dans un espace d'URLs contenant | |
| des données privées, ou à partir desquelles des transactions | |
| sensibles pourraient être menées. En tout état de cause, vous | |
| devez être conscient des risques encourus avant de l'utiliser.</p> | |
| </note> | |
| </usage> | |
| </directivesynopsis> | |
| </modulesynopsis> |