You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by lg...@apache.org on 2012/08/26 15:59:34 UTC

svn commit: r1377442 - /httpd/httpd/branches/2.4.x/docs/manual/mod/mod_lua.xml.fr

Author: lgentis
Date: Sun Aug 26 13:59:34 2012
New Revision: 1377442

URL: http://svn.apache.org/viewvc?rev=1377442&view=rev
Log:
Update.

Modified:
    httpd/httpd/branches/2.4.x/docs/manual/mod/mod_lua.xml.fr

Modified: httpd/httpd/branches/2.4.x/docs/manual/mod/mod_lua.xml.fr
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/docs/manual/mod/mod_lua.xml.fr?rev=1377442&r1=1377441&r2=1377442&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/docs/manual/mod/mod_lua.xml.fr (original)
+++ httpd/httpd/branches/2.4.x/docs/manual/mod/mod_lua.xml.fr Sun Aug 26 13:59:34 2012
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 <?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
-<!-- English Revision: 1345920:1375918 (outdated) -->
+<!-- English Revision : 1375925 -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -112,13 +112,12 @@ function handle(r)
     if r.method == 'GET' then
         for k, v in pairs( r:parseargs() ) do
             r:puts( string.format("%s: %s\n", k, v) )
-        end<!--
-/* Not supported yet */
+         end
     elseif r.method == 'POST' then
         for k, v in pairs( r:parsebody() ) do
             r:puts( string.format("%s: %s\n", k, v) )
         end
--->	
+	
     else
         r:puts("Unsupported HTTP method " .. r.method)
     end
@@ -136,6 +135,60 @@ gestionnaires (ou points d'entr&eacute;e
 </p>
 
 </section>
+<section id="writingauthzproviders">
+<title>Ecriture de fournisseurs d'autorisation</title>
+
+<p><module>mod_authz_core</module> fournit une interface d'autorisation
+de haut niveau bien plus facile &agrave; utiliser que dans les hooks
+correspondants. Le premier argument de la directive <directive
+module="mod_authz_core">Require</directive> permet de sp&eacute;cifier le
+fournisseur d'autorisation &agrave; utiliser. Pour chaque directive <directive
+module="mod_authz_core">Require</directive>,
+<module>mod_authz_core</module> appellera le fournisseur d'autorisation
+sp&eacute;cifi&eacute;, le reste de la ligne constituant les param&egrave;tres. Le
+fournisseur consid&eacute;r&eacute; va alors v&eacute;rifier les autorisations et fournir le
+r&eacute;sultat dans une valeur de retour.</p>
+
+<p>En g&eacute;n&eacute;ral, le fournisseur authz est appel&eacute; avant l'authentification.
+S'il doit conna&icirc;tre le nom d'utilisateur authentifi&eacute; (ou si
+l'utilisateur est appel&eacute; &agrave; &ecirc;tre authentifi&eacute;), le fournisseur doit
+renvoyer <code>apache2.AUTHZ_DENIED_NO_USER</code>, ce qui va
+d&eacute;clancher le processus d'authentification et un deuxi&egrave;me appel du
+fournisseur authz.</p>
+
+<p>La fonction du fournisseur authz ci-dessous accepte deux arguments,
+une adresse IP et un nom d'utilisateur. Elle autorise l'acc&egrave;s dans le
+cas o&ugrave; la requ&ecirc;te provient de l'adresse IP sp&eacute;cifi&eacute;e, ou si
+l'utilisateur authentifi&eacute; correspond au second argument :</p>
+
+<highlight language="lua">
+<strong>authz_provider.lua</strong><br/>
+
+require 'apache2'
+
+function authz_check_foo(r, ip, user)
+    if r.useragent_ip == ip then
+        return apache2.AUTHZ_GRANTED
+    elseif r.user == nil then
+        return apache2.AUTHZ_DENIED_NO_USER
+    elseif r.user == user then
+        return apache2.AUTHZ_GRANTED
+    else
+        return apache2.AUTHZ_DENIED
+    end
+end
+</highlight>
+
+<p>La configuration suivante enregistre cette fonction en tant que
+fournisseur <code>foo</code>, et la configure por l'URL <code>/</code> :</p>
+<highlight language="config">
+LuaAuthzProvider foo authz_provider.lua authz_check_foo
+&lt;Location /&gt;
+  Require foo 10.1.2.3 john_doe
+&lt;/Location&gt;
+</highlight>
+
+</section>
 
 <section id="writinghooks"><title>Ecriture de fonctions d'accroche
 (hooks)</title>
@@ -248,6 +301,16 @@ end
           <td>string</td>
           <td>oui</td>
         </tr>
+	<tr>
+          <td><code>context_prefix</code></td>
+          <td>string</td>
+          <td>non</td>
+        </tr>
+        <tr>
+          <td><code>context_document_root</code></td>
+          <td>string</td>
+          <td>non</td>
+        </tr>
 
         <tr>
           <td><code>document_root</code></td>
@@ -285,6 +348,11 @@ end
           <td>non</td>
         </tr>
         <tr>
+          <td><code>log_id</code></td>
+          <td>string</td>
+          <td>non</td>
+        </tr>
+        <tr>
           <td><code>method</code></td>
           <td>string</td>
           <td>non</td>
@@ -344,6 +412,11 @@ end
           <td>string</td>
           <td>oui</td>
         </tr>
+	<tr>
+          <td><code>useragent_ip</code></td>
+          <td>string</td>
+          <td>non</td>
+        </tr>
         </table>
 
         <p>La structure request_rec poss&egrave;de (au minimum) les m&eacute;thodes
@@ -354,15 +427,17 @@ end
         </highlight>
 
         <highlight language="lua">
-        r:parseargs() -- renvoie une table lua contenant la chaîne
-	d'arguments de la requête
+        r:parseargs() -- renvoie une table lua contenant la cha&icirc;ne
+	d'arguments de la requ&ecirc;te
         </highlight>
-<!--
-/* Not supported yet */
+
         <highlight language="lua">
-        r:parsebody() &dash;- parse the request body as a POST and return  a lua table
+        r:parsebody()([sizeLimit]) -- interpr&egrave;te le corps de la requ&ecirc;te
+	en tant que POST et renvoie une table lua. Un nombre optionnel
+	peut &ecirc;tre fourni pour sp&eacute;cifier le nombre maximal d'octets &agrave;
+	interpr&eacute;ter. La valeur par d&eacute;faut est 8192.
         </highlight>
--->
+
         <highlight language="lua">
         r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la r&eacute;ponse
         </highlight>
@@ -439,9 +514,10 @@ relatifs dans les directives de mod_lua<
 
 <directivesynopsis>
 <name>LuaScope</name>
-<description>Une valeur parmi once, request, conn, server -- la valeur
+<description>Une valeur parmi once, request, conn, thread -- la valeur
 par d&eacute;faut est once</description>
-<syntax>LuaScope once|request|conn|server [max|min max]</syntax>
+<syntax>LuaScope once|request|conn|thread -- la valeur par d&eacute;faur est
+once</syntax>
 <default>LuaScope once</default>
 <contextlist><context>server config</context><context>virtual host</context>
 <context>directory</context><context>.htaccess</context>
@@ -461,17 +537,23 @@ par d&eacute;faut est once</description>
     aussi dans la port&eacute;e de la requ&ecirc;te.</dd>
 
     <dt>conn:</dt> <dd>idem request, mais attach&eacute; &agrave; connection_rec</dd>
-
+    <dt>thread:</dt> <dd>Utilise l'interpr&eacute;teur pendant toute la dur&eacute;e
+    de vie du thread qui traite la requ&ecirc;te (disponible seulement avec
+    les MPMs thread&eacute;s).</dd>
+<!-- not implemented
     <dt>server:</dt>  <dd>Le comportement est ici diff&eacute;rent, car la
     port&eacute;e du serveur pr&eacute;sente une dur&eacute;e de vie assez longue, et
     plusieurs threads vont partager le m&ecirc;me server_rec. Pour g&eacute;rer tout
     ceci, les interpr&eacute;teurs sont stock&eacute;s dans une liste de ressources
     apr. Les arguments min et max ont &eacute;t&eacute; pr&eacute;vus pour sp&eacute;cifier une
     taille de jeu, mais sont inutilis&eacute;s pour le moment.</dd>
+-->
    </dl>
 </usage>
 </directivesynopsis>
 
+<!--
++/* Not implemented in 2.4.x yet */
 <directivesynopsis>
 <name>LuaMapHandler</name>
 <description>Met en correspondance un chemin avec un gestionnaire lua</description>
@@ -507,6 +589,7 @@ par d&eacute;faut est once</description>
 	sp&eacute;cifi&eacute;.</p>
 </usage>
 </directivesynopsis>
+-->
 
 <directivesynopsis>
 <name>LuaPackagePath</name>
@@ -546,6 +629,7 @@ LuaPackagePath /scripts/lib/?/init.lua
 </usage>
 </directivesynopsis>
 
+<!-- Not implemented yet
 <directivesynopsis>
 <name>LuaCodeCache</name>
 <description>Configure le cache de code compil&eacute;.</description>
@@ -580,6 +664,7 @@ LuaCodeCache never
 
 </usage>
 </directivesynopsis>
+-->
 
 <directivesynopsis>
 <name>LuaHookTranslateName</name>
@@ -587,7 +672,6 @@ LuaCodeCache never
 traduction du traitement de la requ&ecirc;te</description>
 <syntax>LuaHookTranslateName  /chemin/vers/lua/script.lua  nom_fonction_hook [early|late]</syntax>
 <contextlist><context>server config</context><context>virtual host</context>
-<context>directory</context>
 </contextlist>
 <override>All</override>
 <compatibility>Le troisi&egrave;me argument optionnel est disponible depuis la
@@ -816,9 +900,8 @@ parentes sont fusionn&eacute;es dans les
 <name>LuaQuickHandler</name>
 <description>Fournit un point d'entr&eacute;e pour la gestion rapide du
 traitement de la requ&ecirc;te</description>
-<syntax></syntax>
+<syntax>LuaQuickHandler /path/to/script.lua hook_function_name</syntax>
 <contextlist><context>server config</context><context>virtual host</context>
-<context>directory</context><context>.htaccess</context>
 </contextlist>
 <override>All</override>
 <usage><p>...</p>
@@ -829,5 +912,32 @@ traitement de la requ&ecirc;te</descript
 </usage>
 </directivesynopsis>
 
+<directivesynopsis>
+<name>LuaAuthzProvider</name>
+<description>Branche une fonction fournisseur d'autorisation dans <module>mod_authz_core</module>
+</description>
+<syntax>LuaAuthzProvider provider_name /path/to/lua/script.lua function_name</syntax>
+<contextlist><context>server config</context> </contextlist>
+<compatibility>Disponible depuis la version 2.4.3 du serveur HTTP Apache</compatibility>
+
+<usage>
+<p>Lorsqu'une fonction lua a &eacute;t&eacute; enregistr&eacute;e en tant que fournisseur
+d'autorisation, elle peut &ecirc;tre appel&eacute;e via la directive <directive
+module="mod_authz_core">Require</directive> :</p>
+
+
+<example>
+<highlight language="config">
+LuaRoot /usr/local/apache2/lua
+LuaAuthzProvider foo authz.lua authz_check_foo
+&lt;Location /&gt;
+  Require foo bar
+&lt;/Location&gt;
+</highlight>
+</example>
+
+</usage>
+</directivesynopsis>
+
 </modulesynopsis>