X-Git-Url: https://granicus.if.org/sourcecode?a=blobdiff_plain;f=docs%2Fmanual%2Fmod%2Fmod_lua.xml.fr;h=4422cfa2d9ab499a8ddead130e8c5f91c7cc10a4;hb=c32773be6d1ea93c38ee69be677cbce1d581f56c;hp=7f5a50970ec4b0e36d7b3988bcd1cf91472856a0;hpb=1a175ccdf994433e446b3d6462d90b8e0a32db00;p=apache
diff --git a/docs/manual/mod/mod_lua.xml.fr b/docs/manual/mod/mod_lua.xml.fr
index 7f5a50970e..4422cfa2d9 100644
--- a/docs/manual/mod/mod_lua.xml.fr
+++ b/docs/manual/mod/mod_lua.xml.fr
@@ -1,7 +1,7 @@
-
+
@@ -95,7 +95,7 @@ le style de CGI. Une fonction de gestionnaire se présente comme suit :
-example.lua
+example.lua
-- 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
else
r:puts("Unsupported HTTP method " .. r.method)
end
@@ -135,6 +133,60 @@ Cela signifie que vous pouvez (et êtes encouragé à) avoir pl
gestionnaires (ou points d'entrée, ou filtres) dans le même script.
+
+
+Ecriture de fournisseurs d'autorisation
+
+mod_authz_core fournit une interface d'autorisation
+de haut niveau bien plus facile à utiliser que dans les hooks
+correspondants. Le premier argument de la directive Require permet de spécifier le
+fournisseur d'autorisation à utiliser. Pour chaque directive Require,
+mod_authz_core 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.
+
+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 apache2.AUTHZ_DENIED_NO_USER
, ce qui va
+déclancher le processus d'authentification et un deuxième appel du
+fournisseur authz.
+
+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 :
+
+
+authz_provider.lua
+
+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
+
+
+La configuration suivante enregistre cette fonction en tant que
+fournisseur foo
, et la configure por l'URL /
:
+
+LuaAuthzProvider foo authz_provider.lua authz_check_foo
+<Location />
+ Require foo 10.1.2.3 john_doe
+</Location>
+
+
Ecriture de fonctions d'accroche
@@ -155,8 +207,9 @@ code d'état HTTP ou des valeurs OK, DONE, ou DECLINED,
que vous pouvez écrire dans lua sous la forme apache2.OK
,
apache2.DONE
, ou apache2.DECLINED
.
+
-translate_name.lua
+translate_name.lua
-- exemple d'accroche qui réécrit un URI en chemin du système de
fichiers.
@@ -172,8 +225,9 @@ function translate_name(r)
end
+
-translate_name2.lua
+translate_name2.lua
--[[ exemple d'accroche qui réécrit un URI vers un autre URI. Il renvoie
un apache2.DECLINED pour permettre à un autre interpréteur d'URL de
travailler sur la substitution, y compris l'accroche translate_name
@@ -249,6 +303,17 @@ end
oui |
+
+ context_prefix |
+ string |
+ non |
+
+
+ context_document_root |
+ string |
+ non |
+
+
document_root |
string |
@@ -284,6 +349,11 @@ end
string |
non |
+
+ log_id |
+ string |
+ non |
+
method |
string |
@@ -344,6 +414,11 @@ end
string |
oui |
+
+ useragent_ip |
+ string |
+ non |
+
La structure request_rec possède (au minimum) les méthodes
@@ -354,15 +429,17 @@ end
- 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
-
+
+
r:puts("bonjour", " le monde", "!") -- affichage dans le corps de la réponse
@@ -829,5 +906,32 @@ traitement de la requête
+
+LuaAuthzProvider
+Branche une fonction fournisseur d'autorisation dans mod_authz_core
+
+LuaAuthzProvider provider_name /path/to/lua/script.lua function_name
+server config
+Disponible depuis la version 2.5.0 du serveur HTTP Apache
+
+
+Lorsqu'une fonction lua a été enregistrée en tant que fournisseur
+d'autorisation, elle peut être appelée via la directive Require :
+
+
+
+LuaRoot /usr/local/apache2/lua
+LuaAuthzProvider foo authz.lua authz_check_foo
+<Location />
+ Require foo bar
+</Location>
+
+
+
+
+
+
+