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é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 à utiliser que dans les hooks
+correspondants. Le premier argument de la directive <directive
+module="mod_authz_core">Require</directive> permet de spécifier le
+fournisseur d'autorisation à utiliser. Pour chaque directive <directive
+module="mod_authz_core">Require</directive>,
+<module>mod_authz_core</module> appellera le fournisseur d'autorisation
+spécifié, le reste de la ligne constituant les paramètres. Le
+fournisseur considéré va alors vérifier les autorisations et fournir le
+résultat dans une valeur de retour.</p>
+
+<p>En général, le fournisseur authz est appelé avant l'authentification.
+S'il doit connaître le nom d'utilisateur authentifié (ou si
+l'utilisateur est appelé à être authentifié), le fournisseur doit
+renvoyer <code>apache2.AUTHZ_DENIED_NO_USER</code>, ce qui va
+déclancher le processus d'authentification et un deuxiè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ès dans le
+cas où la requête provient de l'adresse IP spécifiée, ou si
+l'utilisateur authentifié 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
+<Location />
+ Require foo 10.1.2.3 john_doe
+</Location>
+</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ède (au minimum) les mé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îne
+ d'arguments de la requête
</highlight>
-<!--
-/* Not supported yet */
+
<highlight language="lua">
- r:parsebody() ‐- parse the request body as a POST and return a lua table
+ r:parsebody()([sizeLimit]) -- interprète le corps de la requête
+ en tant que POST et renvoie une table lua. Un nombre optionnel
+ peut être fourni pour spécifier le nombre maximal d'octets à
+ interpréter. La valeur par défaut est 8192.
</highlight>
--->
+
<highlight language="lua">
r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la ré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éfaut est once</description>
-<syntax>LuaScope once|request|conn|server [max|min max]</syntax>
+<syntax>LuaScope once|request|conn|thread -- la valeur par dé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éfaut est once</description>
aussi dans la portée de la requête.</dd>
<dt>conn:</dt> <dd>idem request, mais attaché à connection_rec</dd>
-
+ <dt>thread:</dt> <dd>Utilise l'interpréteur pendant toute la durée
+ de vie du thread qui traite la requête (disponible seulement avec
+ les MPMs threadés).</dd>
+<!-- not implemented
<dt>server:</dt> <dd>Le comportement est ici différent, car la
portée du serveur présente une durée de vie assez longue, et
plusieurs threads vont partager le même server_rec. Pour gérer tout
ceci, les interpréteurs sont stockés dans une liste de ressources
apr. Les arguments min et max ont été prévus pour spécifier une
taille de jeu, mais sont inutilisé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éfaut est once</description>
spécifié.</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é.</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ê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ème argument optionnel est disponible depuis la
@@ -816,9 +900,8 @@ parentes sont fusionnées dans les
<name>LuaQuickHandler</name>
<description>Fournit un point d'entrée pour la gestion rapide du
traitement de la requê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ê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 été enregistrée en tant que fournisseur
+d'autorisation, elle peut être appelé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
+<Location />
+ Require foo bar
+</Location>
+</highlight>
+</example>
+
+</usage>
+</directivesynopsis>
+
</modulesynopsis>