| <?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: 1933506 --> | |
| <!-- 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_basic.xml.meta"> | |
| <name>mod_auth_basic</name> | |
| <description>Authentification HTTP de base</description> | |
| <status>Base</status> | |
| <sourcefile>mod_auth_basic.c</sourcefile> | |
| <identifier>auth_basic_module</identifier> | |
| <summary> | |
| <p>Ce module permet d'utiliser l'authentification basique HTTP pour | |
| restreindre l'accès en recherchant les utilisateurs dans les | |
| fournisseurs d'authentification spécifiés. Il est en général | |
| combiné avec au moins un module d'authentification comme | |
| <module>mod_authn_file</module> et un module d'autorisation comme | |
| <module>mod_authz_user</module>. L'authentification HTTP à | |
| base de condensé (digest), quant à elle, est fournie par le module | |
| <module>mod_auth_digest</module>. </p> | |
| </summary> | |
| <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">Mode d'emploi de | |
| l'authentification</a></seealso> | |
| <directivesynopsis> | |
| <name>AuthBasicProvider</name> | |
| <description>Définit le(les) fournisseur(s) d'authentification pour | |
| cette zone du site web</description> | |
| <syntax>AuthBasicProvider <var>nom fournisseur</var> | |
| [<var>nom fournisseur</var>] ...</syntax> | |
| <default>AuthBasicProvider file</default> | |
| <contextlist><context>directory</context><context>.htaccess</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <usage> | |
| <p>La directive <directive>AuthBasicProvider</directive> permet de | |
| définir le fournisseur utilisé pour authentifier les utilisateurs | |
| pour la zone du site web 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 module | |
| implémentant le fournisseur choisi soit bien présent dans le | |
| serveur.</p> | |
| <example><title>Exemple</title> | |
| <highlight language="config"> | |
| <Location "/secure"> | |
| AuthType basic | |
| AuthName "private area" | |
| AuthBasicProvider dbm | |
| AuthDBMType SDBM | |
| AuthDBMUserFile "/www/etc/dbmpasswd" | |
| Require valid-user | |
| </Location> | |
| </highlight> | |
| </example> | |
| <p>Les fournisseurs sont sollicités dans l'ordre jusqu'à ce que l'un | |
| d'entre eux trouve une correspondance pour le nom d'utilisateur de | |
| la requête ; alors, ce dernier fournisseur sera le seul à vérifier | |
| le mot de passe. Un échec dans la vérification du mot de passe | |
| n'entraîne pas le passage du contrôle au fournisseur suivant.</p> | |
| <p>Les différents fournisseurs disponibles sont implémentés par les | |
| modules <module>mod_authn_dbm</module>, | |
| <module>mod_authn_file</module>, <module>mod_authn_dbd</module>, | |
| <module>mod_authnz_ldap</module> et <module>mod_authn_socache</module>.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthBasicAuthoritative</name> | |
| <description>Définit si les processus d'autorisation et | |
| d'authentification peuvent être confiés à des modules de plus bas | |
| niveau</description> | |
| <syntax>AuthBasicAuthoritative On|Off</syntax> | |
| <default>AuthBasicAuthoritative On</default> | |
| <contextlist><context>directory</context><context>.htaccess</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <usage> | |
| <p>Normalement, chaque module d'autorisation énuméré dans la | |
| directive <directive | |
| module="mod_auth_basic">AuthBasicProvider</directive> va tenter de | |
| vérifier l'utilisateur, et si ce dernier n'est trouvé dans aucun des | |
| fournisseurs, l'accès sera refusé. Définir explicitement la | |
| directive <directive>AuthBasicAuthoritative</directive> à | |
| <code>Off</code> permet de confier l'autorisation et | |
| l'authentification à d'autres modules non basés sur les fournisseurs | |
| si <strong>aucun identifiant utilisateur</strong> ou aucune | |
| <strong>règle</strong> ne correspondent à l'identifiant utilisateur | |
| spécifié. Ceci ne peut s'avérer nécessaire que lorsque | |
| <module>mod_auth_basic</module> est combiné avec des modules tiers | |
| qui n'ont pas été configurés à l'aide de la directive <directive | |
| module="mod_auth_basic">AuthBasicProvider</directive>. Lorsqu'on | |
| utilise de tels modules, l'ordre dans lequel s'effectue le | |
| traitement est défini dans le code source des modules et n'est pas | |
| configurable.</p> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthBasicFake</name> | |
| <description>Authentification de base simulée à l'aide des nom | |
| d'utilisateur et mot de passe fournis</description> | |
| <syntax>AuthBasicFake off|<var>username</var> [<var>password</var>]</syntax> | |
| <default>none</default> | |
| <contextlist><context>directory</context><context>.htaccess</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible à partir de la version 2.4.5 du serveur HTTP | |
| Apache</compatibility> | |
| <usage> | |
| <p>Les nom d'utilisateur et mot de passe spécifiés sont rassemblés | |
| dans un en-tête d'autorisation qui est transmis au serveur ou au | |
| service sous-jacent au serveur. Ces nom d'utilisateur et mot de | |
| passe sont interprétés par l'<a href="../expr.html">interpréteur | |
| d'expression</a>, ce qui permet de les définir en fonction de | |
| paramètres de la requête.</p> | |
| <p>Si aucun mot de passe n'est spécifié, la valeur par défaut | |
| "password" sera utilisée. Pour désactiver l'authentification de base | |
| simulée pour un espace d'URL, définissez AuthBasicFake à "off".</p> | |
| <note> | |
| L'en-tête Authorization ajouté par cette directive <em>ne constitue pas</em> | |
| une donnée d'authentification ou d'autorisation au sein du serveur local. Il | |
| est destiné à être transmis aux serveurs en amont. | |
| </note> | |
| <p>Dans l'exemple suivant, un nom d'utilisateur et un mot de passe | |
| prédéfinis sont transmis à un serveur d'arrière-plan :</p> | |
| <example><title>Exemple de transmission d'un nom d'utilisateur et | |
| d'un mot de passe prédéfinis</title> | |
| <highlight language="config"> | |
| <Location "/demo"> | |
| AuthBasicFake demo demopass | |
| </Location> | |
| </highlight> | |
| </example> | |
| <p>Dans l'exemple suivant, l'adresse email extraite d'un certificat | |
| client est transmise au serveur, étendant par là-même la | |
| fonctionnalité de l'option FakeBasicAuth de la directive <directive | |
| module="mod_ssl">SSLOptions</directive>. Comme avec l'option | |
| FakeBasicAuth, le mot de passe se voit attribué le contenu fixe de | |
| la chaîne "password".</p> | |
| <example><title>Exemple d'utilisation avec un certificat</title> | |
| <highlight language="config"> | |
| <Location "/secure"> | |
| AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" | |
| </Location> | |
| </highlight> | |
| </example> | |
| <p>Pour compléter l'exemple précédent, il est possible de générer la | |
| valeur du mot de passe en procédant à un hashage de l'adresse email | |
| à partir d'un mot d'une passphrase initial fixée, puis de transmettre le | |
| résultat obtenu au serveur d'arrière-plan. Ceci peut s'avérer utile | |
| pour donner accès à des serveurs anciens qui ne supportent pas les | |
| certificats clients.</p> | |
| <example><title>Exemple de génération de mot de passe par hashage de | |
| l'adresse email</title> | |
| <highlight language="config"> | |
| <Location "/secure"> | |
| AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}" | |
| </Location> | |
| </highlight> | |
| </example> | |
| <example><title>Désactivation de l'authentification simulée</title> | |
| <highlight language="config"> | |
| <Location "/public"> | |
| AuthBasicFake off | |
| </Location> | |
| </highlight> | |
| </example> | |
| </usage> | |
| </directivesynopsis> | |
| <directivesynopsis> | |
| <name>AuthBasicUseDigestAlgorithm</name> | |
| <description>Vérifie les mots de passe auprès des fournisseurs | |
| d'authentification à la manière de l'authentification de type Digest. | |
| </description> | |
| <syntax>AuthBasicUseDigestAlgorithm MD5|Off</syntax> | |
| <default>AuthBasicUseDigestAlgorithm Off</default> | |
| <contextlist><context>directory</context><context>.htaccess</context> | |
| </contextlist> | |
| <override>AuthConfig</override> | |
| <compatibility>Disponible à partir de la version 2.4.7 du serveur HTTP | |
| Apache</compatibility> | |
| <usage> | |
| <p>Normalement, lorsqu'on utilise l'authentification basique, les | |
| fournisseurs spécifiés via la directive <directive | |
| module="mod_auth_basic">AuthBasicProvider</directive> tentent de | |
| contrôler l'identité d'un utilisateur en recherchant dans leurs | |
| bases de données l'existence d'un couple utilisateur/mot de passe | |
| correspondant. Les mots de passe enregistrés sont en général | |
| chiffrés, mais ce n'est pas systématique ; chaque fournisseur peut | |
| choisir son propre mode de stockage des mots de passe.</p> | |
| <p>Lorsqu'on utilise l'authentification de type Digest, les fournisseurs | |
| spécifiés par la directive <directive | |
| module="mod_auth_digest">AuthDigestProvider</directive> effectuent une | |
| recherche similaire dans leurs bases de données pour trouver un couple | |
| utilisateur/mot de passe correspondant. Cependant, à la différence de | |
| l'authentification basique, les données associées à chaque utilisateur et | |
| comportant le nom d'utilisateur, le domaine de protection (realm) et le mot | |
| de passe doivent être contenues dans une chaîne chiffrée (Voir le document | |
| <rfc section="3.2.2.2">2617</rfc> pour plus de détails à propos du type de | |
| chiffrement utilisé pour cette chaîne).</p> | |
| <p>A cause de la différence entre les méthodes de stockage des | |
| données des authentifications de type basique et digest, le passage | |
| d'une méthode d'authentification de type digest à une méthode | |
| d'authentification de type basique requiert l'attribution de | |
| nouveaux | |
| mots de passe à chaque utilisateur, car leur mots de passe existant | |
| ne peut pas être extrait à partir du schéma de stockage utilisé | |
| par les fournisseurs d'authentification de type digest.</p> | |
| <p>Si la directive <directive>AuthBasicUseDigestAlgorithm</directive> est | |
| définie à la valeur <code>MD5</code>, le mot de passe d'un | |
| utilisateur dans le cas de l'authentification basique sera vérifié | |
| en utilisant le même format de chiffrement que dans le cas de | |
| l'authentification de type digest. Tout d'abord, une chaîne | |
| comportant le nom d'utilisateur, le domaine de protection (realm) et | |
| le mot de passe est générée sous forme de condensé (hash) en | |
| utilisant l'algorithme MD5 ; puis le nom d'utilisateur et cette | |
| chaîne chiffrée sont transmis aux fournisseurs spécifiés via la | |
| directive <directive | |
| module="mod_auth_basic">AuthBasicProvider</directive> comme si la | |
| directive <directive module="mod_authn_core">AuthType</directive> | |
| était définie à <code>Digest</code> et si l'authentification de type | |
| Digest était utilisée. | |
| </p> | |
| <p>Grâce à cette directive, un site peut basculer d'une | |
| authentification de type digest à basique sans devoir changer les | |
| mots de passe des utilisateurs. </p> | |
| <note> | |
| Le processus inverse consistant à passer d'une authentification de | |
| type basique à digest sans changer les mots de passe n'est en | |
| général pas possible. Les mots de passe enregistrés dans le cas | |
| d'une authentification de type basique ne pourront être extraits | |
| et chiffrés à nouveau selon le schéma de l'authentification de | |
| type digest, que s'ils ont été stockés en clair ou selon un schéma de | |
| chiffrement réversible. | |
| </note> | |
| <note> | |
| Seuls les fournisseurs qui supportent l'authentification de type | |
| digest pourront authentifier les utilisateurs lorsque la directive | |
| <directive>AuthBasicUseDigestAlgorithm</directive> | |
| est définie à <code>MD5</code>. L'utilisation d'un autre | |
| fournisseur provoquera un message d'erreur et le client se verra | |
| refuser l'accès.</note> | |
| </usage> | |
| </directivesynopsis> | |
| </modulesynopsis> |