]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_authn_socache.html.fr
update transformation
[apache] / docs / manual / mod / mod_authn_socache.html.fr
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>mod_authn_socache - Serveur Apache HTTP</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <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" />
12 <script src="../style/scripts/prettify.min.js" type="text/javascript">
13 </script>
14
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body>
17 <div id="page-header">
18 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
19 <p class="apache">Serveur Apache HTTP Version 2.5</p>
20 <img alt="" src="../images/feather.gif" /></div>
21 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
22 <div id="path">
23 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Modules</a></div>
24 <div id="page-content">
25 <div id="preamble"><h1>Module Apache mod_authn_socache</h1>
26 <div class="toplang">
27 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_socache.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
28 <a href="../fr/mod/mod_authn_socache.html" title="Français">&nbsp;fr&nbsp;</a></p>
29 </div>
30 <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Gère un cache des données d'authentification pour diminuer
31 la charge des serveurs d'arrière-plan</td></tr>
32 <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Base</td></tr>
33 <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>authn_socache_module</td></tr>
34 <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_authn_socache.c</td></tr>
35 <tr><th><a href="module-dict.html#Compatibility">Compatibilité:</a></th><td>Versions 2.3 et ultérieures</td></tr></table>
36 <h3>Sommaire</h3>
37
38     <p>Maintient un cache des données d'authentification pour limiter
39     les sollicitations du serveur d'arrière-plan.</p>
40 </div>
41 <div id="quickview"><h3 class="directives">Directives</h3>
42 <ul id="toc">
43 <li><img alt="" src="../images/down.gif" /> <a href="#authncachecontext">AuthnCacheContext</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#authncacheenable">AuthnCacheEnable</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#authncacheprovidefor">AuthnCacheProvideFor</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#authncachesocache">AuthnCacheSOCache</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#authncachetimeout">AuthnCacheTimeout</a></li>
48 </ul>
49 <h3>Sujets</h3>
50 <ul id="topics">
51 <li><img alt="" src="../images/down.gif" /> <a href="#intro">Mise en cache des données d'authentification</a></li>
52 <li><img alt="" src="../images/down.gif" /> <a href="#usage">Utilisation</a></li>
53 <li><img alt="" src="../images/down.gif" /> <a href="#dev">La mise en cache avec les modules tiers</a></li>
54 </ul><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
55 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
56 <div class="section">
57 <h2><a name="intro" id="intro">Mise en cache des données d'authentification</a></h2>
58     <p>Certains utilisateurs qui mettent oeuvre une authentification
59     lourde s'appuyant par exemple sur des requêtes SQL
60     (<code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>) ont signalé une charge induite
61     inacceptable sur leur fournisseur d'authentification. Cela se
62     produit typiquement dans le cas où une page HTML contient des
63     centaines d'objets (images, scripts, pages de styles, media,
64     etc...), et où une requête pour cette page génère des centaines de
65     sous-requêtes à effet immédiat pour des contenus supplémentaires
66     authentifiés.</p>
67     <p>Pour résoudre ce problème, mod_authn_socache fournit une solution
68     qui permet de maintenir un cache des données d'authentification.</p>
69 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
70 <div class="section">
71 <h2><a name="usage" id="usage">Utilisation</a></h2>
72     <p>Le cache d'authentification doit être utilisé lorsque les
73     requêtes d'authentification induisent une charge significative sur le
74     serveur, le serveur d'arrière-plan ou le réseau. Cette mise en cache
75     n'apportera probablement aucune amélioration dans le cas d'une
76     authentification à base de fichier (<code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code>)
77     ou de base de données dbm (<code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>) car ces
78     méthodes sont de par leur conception rapides et légères (la mise en
79     cache peut cependant s'avérer utile dans le cas où le fichier est
80     situé sur un montage réseau). Les fournisseurs d'authentification
81     basés sur SQL ou LDAP ont plus de chances de tirer parti de cette
82     mise en cache, en particulier lorsqu'un problème de performances est
83     détecté. <code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> gérant son propre cache,
84     seul <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> est concerné par notre sujet.</p>
85     <p>Les principales règles à appliquer pour la mise en cache sont :</p>
86     <ol><li>Inclure le fournisseur pour lequel vous voulez effectuer une
87     mise en cache dans une directive
88     <code class="directive">AuthnCacheProvideFor</code>.</li>
89         <li>Mettre <var>socache</var> avant le fournisseur pour lequel
90         vous voulez effectuer une mise en cache dans votre directive
91         <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
92         ou <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code>.</li>
93     </ol>
94     <p>Voici un exemple simple permettant d'accélérer
95     <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> et utilisant dbm comme moteur de la
96     mise en cache :</p>
97     <pre class="prettyprint lang-config">    #AuthnCacheSOCache est optionnel. S'il est défini, il l'est pour
98     #l'ensemble du serveur
99 AuthnCacheSOCache dbm
100 &lt;Directory /usr/www/myhost/private&gt;
101     AuthType Basic
102     AuthName "Cached Authentication Example"
103     AuthBasicProvider socache dbd
104     AuthDBDUserPWQuery "SELECT password FROM authn WHERE user = %s"
105     AuthnCacheProvideFor dbd
106     Require valid-user
107     #Optionnel
108     AuthnCacheContext dbd-authn-example
109 &lt;/Directory&gt;</pre>
110
111 </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
112 <div class="section">
113 <h2><a name="dev" id="dev">La mise en cache avec les modules tiers</a></h2>
114     <p>Les développeurs de modules doivent savoir que la mise en cache
115     avec mod_authn_socache doit être activée dans leurs modules. La
116     fonction de l'API <var>ap_authn_cache_store</var> permet de
117     mettre en cache les données d'authentification qu'un fournisseur
118     vient de rechercher ou de générer. Vous trouverez des exemples
119     d'utilisation à <a href="http://svn.eu.apache.org/viewvc?view=revision&amp;revision=957072">r957072</a>, où trois fournisseurs authn sont activés pour la mise
120     en cache.</p>
121 </div>
122 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
123 <div class="directive-section"><h2><a name="AuthnCacheContext" id="AuthnCacheContext">AuthnCacheContext</a> <a name="authncachecontext" id="authncachecontext">Directive</a></h2>
124 <table class="directive">
125 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie une chaîne de contexte à utiliser dans la clé du
126 cache</td></tr>
127 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheContext <var>directory|server|chaîne-personnalisée</var></code></td></tr>
128 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>directory</code></td></tr>
129 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire</td></tr>
130 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
131 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr>
132 </table>
133     <p>Cette directive permet de spécifier une chaîne à utiliser avec le
134     nom d'utilisateur fourni (et le domaine d'authentification - realm -
135     dans le cas d'une authentification à base de condensés) lors de la
136     construction d'une clé de cache. Ceci permet de lever l'ambiguïté
137     entre plusieurs noms d'utilisateurs identiques servant différentes
138     zones d'authentification sur le serveur.</p>
139     <p>Il y a deux valeurs spéciales pour le paramètre : <var>directory</var>,
140     qui utilise le contexte de répertoire de la requête comme chaîne, et
141     <var>server</var>, qui utilise le nom du serveur virtuel.</p>
142     <p>La valeur par défaut est <var>directory</var>, qui est aussi la
143     définition la plus courante. Ceci est cependant loin d'être optimal,
144     car par exemple, <var>$app-base</var>, <var>$app-base/images</var>,
145     <var>$app-base/scripts</var> et <var>$app-base/media</var>
146     possèderont chacun leur propre clé de cache. Il est préférable
147     d'utiliser le fournisseur de mot de passe : par exemple un fichier
148     <var>htpasswd</var> ou une table de base de données.</p>
149     <p>Les contextes peuvent être partagés entre différentes zones du
150     serveur, où les données d'authentification sont partagées. Ceci est
151     cependant susceptible de créer des trous de sécurité de type
152     cross-site ou cross-application, et cette directive n'est donc pas
153     disponible dans les contextes <var>.htaccess</var>.</p>
154
155 </div>
156 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
157 <div class="directive-section"><h2><a name="AuthnCacheEnable" id="AuthnCacheEnable">AuthnCacheEnable</a> <a name="authncacheenable" id="authncacheenable">Directive</a></h2>
158 <table class="directive">
159 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active la mise en cache de l'authentification en tout
160 endroit</td></tr>
161 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheEnable</code></td></tr>
162 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
163 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>None</td></tr>
164 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
165 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr>
166 </table>
167     <p>Normalement, cette directive n'est pas nécessaire : l'activation
168     est implicite si la mise en cache de l'authentification a été
169     activée en tout autre endroit du fichier <var>httpd.conf</var>. Par
170     contre, si cette mise en cache n'a pas été activée, par défaut, elle
171     ne sera pas initialisée, et ne sera donc pas disponible dans un
172     contexte de fichier <var>.htaccess</var>. Cette directive permet
173     d'être sûr que la mise en cache a bien été activée et pourra
174     donc être utilisée dans les fichiers <var>.htaccess</var>.</p>
175
176 </div>
177 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
178 <div class="directive-section"><h2><a name="AuthnCacheProvideFor" id="AuthnCacheProvideFor">AuthnCacheProvideFor</a> <a name="authncacheprovidefor" id="authncacheprovidefor">Directive</a></h2>
179 <table class="directive">
180 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Spécifie le fournisseur pour lequel on veut effectuer une
181 mise en cache</td></tr>
182 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheProvideFor <var>fournisseur-authn</var> [...]</code></td></tr>
183 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>None</code></td></tr>
184 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
185 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
186 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
187 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr>
188 </table>
189     <p>Cette directive permet de spécifier un ou plusieurs fournisseurs
190     pour le(s)quel(s) on veut effectuer une mise en cache. Les données
191     d'authentification trouvées par un fournisseur non spécifié dans une
192     directive AuthnCacheProvideFor ne seront pas mises en cache.</p>
193
194     <p>Par exemple, pour mettre en cache les données d'authentification
195     trouvées par <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> ou par un fournisseur
196     personnalisé <var>mon-fournisseur</var>, et ne pas mettre en cache
197     celles trouvées par les fournisseurs légers comme file ou dbm :</p>
198     <pre class="prettyprint lang-config">AuthnCacheProvideFor dbd mon-fournisseur</pre>
199
200
201 </div>
202 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
203 <div class="directive-section"><h2><a name="AuthnCacheSOCache" id="AuthnCacheSOCache">AuthnCacheSOCache</a> <a name="authncachesocache" id="authncachesocache">Directive</a></h2>
204 <table class="directive">
205 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Sélectionne le fournisseur socache d'arrière-plan à
206 utiliser</td></tr>
207 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheSOCache <var>nom-fournisseur[:arguments-fournisseur]</var></code></td></tr>
208 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration du serveur</td></tr>
209 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>None</td></tr>
210 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
211 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr>
212 </table>
213     <p>Cette définition s'applique à l'ensemble du serveur et permet de
214     sélectionner un fournisseur pour le <a href="../socache.html">cache
215     d'objets partagés</a>, ainsi que des arguments éventuels pour ce
216     fournisseur. Les fournisseurs disponibles sont, entre autres, "dbm",
217     "dc", "memcache", ou "shmcb", chacun d'entre eux nécessitant le chargement
218     du module approprié. Si elle est
219     absente, c'est la valeur par défaut pour votre plate-forme qui sera
220     utilisée.</p>
221
222 </div>
223 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
224 <div class="directive-section"><h2><a name="AuthnCacheTimeout" id="AuthnCacheTimeout">AuthnCacheTimeout</a> <a name="authncachetimeout" id="authncachetimeout">Directive</a></h2>
225 <table class="directive">
226 <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Définit une durée de vie pour les entrées du cache</td></tr>
227 <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>AuthnCacheTimeout <var>durée-de-vie</var> (secondes)</code></td></tr>
228 <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>300 (5 minutes)</code></td></tr>
229 <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>répertoire, .htaccess</td></tr>
230 <tr><th><a href="directive-dict.html#Override">AllowOverride:</a></th><td>AuthConfig</td></tr>
231 <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Base</td></tr>
232 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_authn_socache</td></tr>
233 </table>
234     <p>La mise en cache des données d'authentification peut constituer
235     un trou de sécurité, bien qu'un mise en cache de courte durée ne
236     posera probablement pas de problème. En général, il est conseillé de
237     conserver les entrées du cache de façon à ce que la charge du serveur
238     d'arrière-plan reste normale, mais pas plus longtemps ;
239     une durée de vie plus longue peut être paramétrée si les
240     changements d'utilisateurs et de mots de passe sont peu fréquents.
241     La durée de vie par défaut de 300 secondes (5 minutes) est à la fois
242     raisonnable et suffisamment importante pour réduire la charge d'un
243     serveur d'arrière-plan comme dbd (requêtes SQL).</p>
244     <p>Cette durée de vie ne doit pas être confondue avec la durée de
245     vie de session qui est un tout autre sujet. Cependant, vous devez
246     utiliser votre logiciel de gestion de session pour vérifier si les
247     données d'authentification mises en cache peuvent allonger
248     accidentellement une session, et en tenir compte lorsque vous
249     définissez la durée de vie.</p>
250
251 </div>
252 </div>
253 <div class="bottomlang">
254 <p><span>Langues Disponibles: </span><a href="../en/mod/mod_authn_socache.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
255 <a href="../fr/mod/mod_authn_socache.html" title="Français">&nbsp;fr&nbsp;</a></p>
256 </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
257 <script type="text/javascript"><!--//--><![CDATA[//><!--
258 var comments_shortname = 'httpd';
259 var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_authn_socache.html';
260 (function(w, d) {
261     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
262         d.write('<div id="comments_thread"><\/div>');
263         var s = d.createElement('script');
264         s.type = 'text/javascript';
265         s.async = true;
266         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
267         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
268     }
269     else {
270         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
271     }
272 })(window, document);
273 //--><!]]></script></div><div id="footer">
274 <p class="apache">Copyright 2014 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
275 <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
276 if (typeof(prettyPrint) !== 'undefined') {
277     prettyPrint();
278 }
279 //--><!]]></script>
280 </body></html>