]> granicus.if.org Git - apache/blobdiff - docs/manual/mod/mod_lua.xml.fr
xforms
[apache] / docs / manual / mod / mod_lua.xml.fr
index 7f5a50970ec4b0e36d7b3988bcd1cf91472856a0..4422cfa2d9ab499a8ddead130e8c5f91c7cc10a4 100644 (file)
@@ -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 : 1345917 -->
+<!-- English Revision: 1355934:1367511 (outdated) -->
 <!-- French translation : Lucien GENTIS -->
 <!-- Reviewed by : Vincent Deffontaines -->
 
@@ -95,7 +95,7 @@ le style de CGI. Une fonction de gestionnaire se pr&eacute;sente comme suit :</p
 
 
 <highlight language="lua">
-<strong>example.lua</strong>
+<strong>example.lua</strong><br/>
 -- exemple de gestionnaire
 
 require "string"
@@ -112,13 +112,11 @@ 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
@@ -135,6 +133,60 @@ Cela signifie que vous pouvez (et &ecirc;tes encourag&eacute; &agrave;) avoir pl
 gestionnaires (ou points d'entr&eacute;e, ou filtres) dans le m&ecirc;me script.
 </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
@@ -155,8 +207,9 @@ code d'&eacute;tat HTTP ou des valeurs OK, DONE, ou DECLINED,
 que vous pouvez &eacute;crire dans lua sous la forme <code>apache2.OK</code>,
 <code>apache2.DONE</code>, ou <code>apache2.DECLINED</code>.</p>
 
+
 <highlight language="lua">
-<strong>translate_name.lua</strong>
+<strong>translate_name.lua</strong><br/>
 -- exemple d'accroche qui r&eacute;&eacute;crit un URI en chemin du syst&egrave;me de
 fichiers.
 
@@ -172,8 +225,9 @@ function translate_name(r)
 end
 </highlight>
 
+
 <highlight language="lua">
-<strong>translate_name2.lua</strong>
+<strong>translate_name2.lua</strong><br/>
 --[[ exemple d'accroche qui r&eacute;&eacute;crit un URI vers un autre URI. Il renvoie
        un apache2.DECLINED pour permettre &agrave; un autre interpr&eacute;teur d'URL de
        travailler sur la substitution, y compris l'accroche translate_name
@@ -249,6 +303,17 @@ end
           <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>
           <td>string</td>
@@ -284,6 +349,11 @@ end
           <td>string</td>
           <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>
@@ -344,6 +414,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 +429,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() -- interpr&egrave;te toutes donn&eacute;es POST de la requ&ecirc;te et
+       les renvoie sous forme de table Lua
         </highlight>
--->
+
+
         <highlight language="lua">
         r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la r&eacute;ponse
         </highlight>
@@ -829,5 +906,32 @@ traitement de la requ&ecirc;te</description>
 </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.5.0 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>