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" />
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 This file is generated from xml source: DO NOT EDIT
8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
10 <title>mod_auth_basic - Serveur Apache HTTP Version 2.4</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">
17 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
19 <div id="page-header">
20 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.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.4</p>
22 <img alt="" src="../images/feather.png" /></div>
23 <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
25 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Modules</a></div>
26 <div id="page-content">
27 <div id="preamble"><h1>Module Apache mod_auth_basic</h1>
29 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> |
30 <a href="../fr/mod/mod_auth_basic.html" title="Français"> fr </a> |
31 <a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
32 <a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
34 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Authentification HTTP de base</td></tr>
35 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
36 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>auth_basic_module</td></tr>
37 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_auth_basic.c</td></tr>
38 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible depuis la version 2.1 d'Apache</td></tr></table>
41 <p>Ce module permet d'utiliser l'authentification basique HTTP pour
42 restreindre l'accès en recherchant les utilisateurs dans les
43 fournisseurs d'authentification spécifiés. Il est en général
44 combiné avec au moins un module d'authentification comme
45 <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code> et un module d'autorisation comme
46 <code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code>. L'authentification HTTP à
47 base de condensé (digest), quant à elle, est fournie par le module
48 <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code>. </p>
50 <div id="quickview"><h3 class="directives">Directives</h3>
52 <li><img alt="" src="../images/down.gif" /> <a href="#authbasicauthoritative">AuthBasicAuthoritative</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#authbasicfake">AuthBasicFake</a></li>
54 <li><img alt="" src="../images/down.gif" /> <a href="#authbasicprovider">AuthBasicProvider</a></li>
55 <li><img alt="" src="../images/down.gif" /> <a href="#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></li>
57 <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__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_auth_basic">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_auth_basic">Signaler un bug</a></li></ul><h3>Voir aussi</h3>
59 <li><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code></li>
60 <li><code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code></li>
61 <li><code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code></li>
62 <li><a href="../howto/auth.html">Mode d'emploi de
63 l'authentification</a></li>
64 <li><a href="#comments_section">Commentaires</a></li></ul></div>
66 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
67 <div class="directive-section"><h2><a name="authbasicauthoritative" id="authbasicauthoritative">Directive</a> <a name="AuthBasicAuthoritative" id="AuthBasicAuthoritative">AuthBasicAuthoritative</a></h2>
68 <table class="directive">
69 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit si les processus d'autorisation et
70 d'authentification peuvent être confiés à des modules de plus bas
72 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicAuthoritative On|Off</code></td></tr>
73 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicAuthoritative On</code></td></tr>
74 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
75 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
76 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
77 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr>
79 <p>Normalement, chaque module d'autorisation énuméré dans la
80 directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> va tenter de
81 vérifier l'utilisateur, et si ce dernier n'est trouvé dans aucun des
82 fournisseurs, l'accès sera refusé. Définir explicitement la
83 directive <code class="directive">AuthBasicAuthoritative</code> à
84 <code>Off</code> permet de confier l'autorisation et
85 l'authentification à d'autres modules non basés sur les fournisseurs
86 si <strong>aucun identifiant utilisateur</strong> ou aucune
87 <strong>règle</strong> ne correspondent à l'identifiant utilisateur
88 spécifié. Ceci ne peut s'avérer nécessaire que lorsque
89 <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> est combiné avec des modules tiers
90 qui n'ont pas été configurés à l'aide de la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code>. Lorsqu'on
91 utilise de tels modules, l'ordre dans lequel s'effectue le
92 traitement est défini dans le code source des modules et n'est pas
96 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
97 <div class="directive-section"><h2><a name="authbasicfake" id="authbasicfake">Directive</a> <a name="AuthBasicFake" id="AuthBasicFake">AuthBasicFake</a></h2>
98 <table class="directive">
99 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Authentification de base simulée à l'aide des nom
100 d'utilisateur et mot de passe fournis</td></tr>
101 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicFake off|nom-utilisateur [mot-de-passe]</code></td></tr>
102 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</code></td></tr>
103 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
104 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
105 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
106 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr>
107 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.5 du serveur HTTP
110 <p>Les nom d'utilisateur et mot de passe spécifiés sont rassemblés
111 dans un en-tête d'autorisation qui est transmis au serveur ou au
112 service sous-jacent au serveur. Ces nom d'utilisateur et mot de
113 passe sont interprétés par l'<a href="../expr.html">interpréteur
114 d'expression</a>, ce qui permet de les définir en fonction de
115 paramètres de la requête.</p>
117 <p>Si aucun mot de passe n'est spécifié, la valeur par défaut
118 "password" sera utilisée. Pour désactiver l'authentification de base
119 simulée pour un espace d'URL, définissez AuthBasicFake à "off".</p>
121 <p>Dans l'exemple suivant, un nom d'utilisateur et un mot de passe
122 prédéfinis sont transmis à un serveur d'arrière-plan :</p>
124 <div class="example"><h3>Exemple de transmission d'un nom d'utilisateur et
125 d'un mot de passe prédéfinis</h3><pre class="prettyprint lang-config"><Location "/demo">
126 AuthBasicFake demo demopass
127 </Location></pre>
130 <p>Dans l'exemple suivant, l'adresse email extraite d'un certificat
131 client est transmise au serveur, étendant par là-même la
132 fonctionnalité de l'option FakeBasicAuth de la directive <code class="directive"><a href="../mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. Comme avec l'option
133 FakeBasicAuth, le mot de passe se voit attribué le contenu fixe de
134 la chaîne "password".</p>
136 <div class="example"><h3>Exemple d'utilisation avec un certificat</h3><pre class="prettyprint lang-config"><Location "/secure">
137 AuthBasicFake "%{SSL_CLIENT_S_DN_Email}"
138 </Location></pre>
141 <p>Pour compléter l'exemple précédent, il est possible de générer la
142 valeur du mot de passe en procédant à un hashage de l'adresse email
143 à partir d'un mot d'une passphrase initial fixée, puis de transmettre le
144 résultat obtenu au serveur d'arrière-plan. Ceci peut s'avérer utile
145 pour donner accès à des serveurs anciens qui ne supportent pas les
146 certificats clients.</p>
148 <div class="example"><h3>Exemple de génération de mot de passe par hashage de
149 l'adresse email</h3><pre class="prettyprint lang-config"><Location "/secure">
150 AuthBasicFake "%{SSL_CLIENT_S_DN_Email}" "%{sha1:passphrase-%{SSL_CLIENT_S_DN_Email}}"
151 </Location></pre>
154 <div class="example"><h3>Désactivation de l'authentification simulée</h3><pre class="prettyprint lang-config"><Location "/public">
156 </Location></pre>
161 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
162 <div class="directive-section"><h2><a name="authbasicprovider" id="authbasicprovider">Directive</a> <a name="AuthBasicProvider" id="AuthBasicProvider">AuthBasicProvider</a></h2>
163 <table class="directive">
164 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit le(les) fournisseur(s) d'authentification pour
165 cette zone du site web</td></tr>
166 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicProvider <var>nom fournisseur</var>
167 [<var>nom fournisseur</var>] ...</code></td></tr>
168 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicProvider file</code></td></tr>
169 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
170 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
171 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
172 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr>
174 <p>La directive <code class="directive">AuthBasicProvider</code> permet de
175 définir le fournisseur utilisé pour authentifier les utilisateurs
176 pour la zone du site web concernée. Le fournisseur par défaut
177 <code>file</code> est implémenté par le module
178 <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>. Assurez-vous que le module
179 implémentant le fournisseur choisi soit bien présent dans le
182 <div class="example"><h3>Exemple</h3><pre class="prettyprint lang-config"><Location "/secure">
184 AuthName "private area"
185 AuthBasicProvider dbm
187 AuthDBMUserFile "/www/etc/dbmpasswd"
189 </Location></pre>
191 <p>Les fournisseurs sont sollicités dans l'ordre jusqu'à ce que l'un
192 d'entre eux trouve une correspondance pour le nom d'utilisateur de
193 la requête ; alors, ce dernier fournisseur sera le seul à vérifier
194 le mot de passe. Un échec dans la vérification du mot de passe
195 n'entraîne pas le passage du contrôle au fournisseur suivant.</p>
197 <p>Les différents fournisseurs disponibles sont implémentés par les
198 modules <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>,
199 <code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>, <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>,
200 <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> et <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code>.</p>
203 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
204 <div class="directive-section"><h2><a name="authbasicusedigestalgorithm" id="authbasicusedigestalgorithm">Directive</a> <a name="AuthBasicUseDigestAlgorithm" id="AuthBasicUseDigestAlgorithm">AuthBasicUseDigestAlgorithm</a></h2>
205 <table class="directive">
206 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Vérifie les mots de passe auprès des fournisseurs
207 d'authentification à la manière de l'authentification de type Digest.
209 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthBasicUseDigestAlgorithm MD5|Off</code></td></tr>
210 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>AuthBasicUseDigestAlgorithm Off</code></td></tr>
211 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
212 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
213 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
214 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_auth_basic</td></tr>
215 <tr><th><a href="directive-dict.html#Compatibility">Compatibilité:</a></th><td>Disponible à partir de la version 2.4.7 du serveur HTTP
218 <p>Normalement, lorsqu'on utilise l'authentification basique, les
219 fournisseurs spécifiés via la directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> tentent de
220 contrôler l'identité d'un utilisateur en recherchant dans leurs
221 bases de données l'existence d'un couple utilisateur/mot de passe
222 correspondant. Les mots de passe enregistrés sont en général
223 chiffrés, mais ce n'est pas systématique ; chaque fournisseur peut
224 choisir son propre mode de stockage des mots de passe.</p>
226 <p>Lorsqu'on utilise l'authentification de type Digest, les
227 fournisseurs spécifiés par la directive <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> effectuent
228 une recherche similaire dans leurs bases de
229 données pour trouver un couple utilisateur/mot de passe
230 correspondant. Cependant, à la différence de l'authentification
231 basique, les données associées à chaque utilisateur et comportant le
232 nom d'utilisateur, le domaine de protection (realm) et le mot de
233 passe doivent être contenues dans une chaîne chiffrée (Voir le
234 document <a href="http://tools.ietf.org/html/rfc2617#section-3.2.2.2">RFC 2617,
235 Section 3.2.2.2</a> pour plus de détails à propos du type de
236 chiffrement utilisé pour cette chaîne).</p>
238 <p>A cause de la différence entre les méthodes de stockage des
239 données des authentifications de type basique et digest, le passage
240 d'une méthode d'authentification de type digest à une méthode
241 d'authentification de type basique requiert l'attribution de
243 mots de passe à chaque utilisateur, car leur mots de passe existant
244 ne peut pas être extrait à partir du schéma de stockage utilisé
245 par les fournisseurs d'authentification de type digest.</p>
247 <p>Si la directive <code class="directive"><a href="#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></code> est
248 définie à la valeur <code>MD5</code>, le mot de passe d'un
249 utilisateur dans le cas de l'authentification basique sera vérifié
250 en utilisant le même format de chiffrement que dans le cas de
251 l'authentification de type digest. Tout d'abord, une chaîne
252 comportant le nom d'utilisateur, le domaine de protection (realm) et
253 le mot de passe est générée sous forme de condensé (hash) en
254 utilisant l'algorithme MD5 ; puis le nom d'utilisateur et cette
255 chaîne chiffrée sont transmis aux fournisseurs spécifiés via la
256 directive <code class="directive"><a href="#authbasicprovider">AuthBasicProvider</a></code> comme si la
257 directive <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code>
258 était définie à <code>Digest</code> et si l'authentification de type
259 Digest était utilisée.
262 <p>Grâce à cette directive, un site peut basculer d'une
263 authentification de type digest à basique sans devoir changer les
264 mots de passe des utilisateurs. </p>
267 Le processus inverse consistant à passer d'une authentification de
268 type basique à digest sans changer les mots de passe n'est en
269 général pas possible. Les mots de passe enregistrés dans le cas
270 d'une authentification de type basique ne pourront être extraits
271 et chiffrés à nouveau selon le schéma de l'authentification de
272 type digest, que s'ils ont été stockés en clair ou selon un schéma de
273 chiffrement réversible.
277 Seuls les fournisseurs qui supportent l'authentification de type
278 digest pourront authentifier les utilisateurs lorsque la directive
279 <code class="directive"><a href="#authbasicusedigestalgorithm">AuthBasicUseDigestAlgorithm</a></code>
280 est définie à <code>MD5</code>. L'utilisation d'un autre
281 fournisseur provoquera un message d'erreur et le client se verra
282 refuser l'accès.</div>
286 <div class="bottomlang">
287 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_auth_basic.html" hreflang="en" rel="alternate" title="English"> en </a> |
288 <a href="../fr/mod/mod_auth_basic.html" title="Français"> fr </a> |
289 <a href="../ja/mod/mod_auth_basic.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
290 <a href="../ko/mod/mod_auth_basic.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
291 </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&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>
292 <script type="text/javascript"><!--//--><![CDATA[//><!--
293 var comments_shortname = 'httpd';
294 var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_auth_basic.html';
296 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
297 d.write('<div id="comments_thread"><\/div>');
298 var s = d.createElement('script');
299 s.type = 'text/javascript';
301 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
302 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
305 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
307 })(window, document);
308 //--><!]]></script></div><div id="footer">
309 <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>
310 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.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[//><!--
311 if (typeof(prettyPrint) !== 'undefined') {