Ce module permet aux applications d'autorisation FastCGI d'authentifier les utilisateurs et de contrôler leur accès aux ressources. Il supporte les systèmes d'autorisation FastCGI génériques qui participent en une seule phase à l'authentification et à l'autorisation, ainsi que les processus d'authentification et d'autorisation spécifiques à Apache httpd qui interviennent en une ou plusieurs phases.
Les processus d'autorisation FastCGI peuvent authentifier un utilisateur via son identificateur et son mot de passe comme dans le processus d'authentification basique, ou via un mécanisme arbitraire.
Les modes d'invocation des processus d'autorisation FastCGI que ce module supporte se distinguent par deux caractéristiques : le type et le mécanisme d'authentification.
Le Type est simplement authn
pour
l'authentification, authz
pour l'autorisation et
authnz
l'authentification et l'autorisation.
Le mécanisme d'authentification fait référence aux
mécanismes d'authentification et aux phases de traitement de la
configuration de Apache httpd, et peut être
AuthBasicProvider
, Require
, ou
check_user_id
. Les deux premiers mécanismes
correspondent aux directives utilisées pour participer aux phases de
traitement appropriées.
Description de chaque mode:
authn
, mechanism
AuthBasicProvider
FCGI_ROLE
est définie à
AUTHORIZER
, et la variable
FCGI_APACHE_ROLE
à AUTHENTICATOR
.
L'application doit être spécifiée en tant que fournisseur de type
authn via la directive authz
, mechanism
Require
FCGI_ROLE
est définie à
AUTHORIZER
et FCGI_APACHE_ROLE
à
AUTHORIZER
. L'application doit être spécifiée en tant
que fournisseur de type authz via la directive authnz
, mechanism
AuthBasicProvider
+ Require
FCGI_ROLE
est
définie à AUTHORIZER
et FCGI_APACHE_ROLE
n'est pas définie. L'application doit être spécifiée en tant que
fournisseur de type authnz via la directive authn
, mechanism
check_user_id
FCGI_ROLE
est définie à
AUTHORIZER
et FCGI_APACHE_ROLE
à
AUTHENTICATOR
. L'application doit être spécifiée en
tant que fournisseur de type authn via une directive
AUTHENTICATOR
et
AUTHORIZER
), vous pouvez définir des fournisseurs
séparés comme suit, même s'ils correspondent à la même application :
AUTHORIZER
(authentification et autorisation en une
seule invocation), vous pouvez définir un fournisseur unique comme
suit :
Les fonctionnalités suivantes ne sont pas encore implémentées :
FCGI_APACHE_ROLE
est définie à ACCESS_CHECKER
.error
ou supérieur.warn
.debug
.trace2
. La valeur de la
variable REMOTE_PASSWD
sera occultée, mais
toute autre donnée sensible sera visible dans le
journal.trace5
. Toutes les données sensibles seront
visibles dans le journal.La directive
Cette directive permet de définir une application FastCGI en tant que fournisseur pour une phase particulière d'authentification ou d'autorisation.
None
option ...Cette directive permet de confier à une application FastCGI la gestion d'une phase spécifique du processus d'authentification ou d'autorisation.
Certaines fonctionnalités des fournisseurs d'autorisation FastCGI
nécessitent cette directive en lieu et place de
UserExpr
ci-dessousNone
None
pour désactiver un fournisseur
activé avec cette même directive dans une autre portée, par
exemple dans un répertoire parent.UserExpr
est défini et correspond à une chaîne
vide, (par exemple, si le fournisseur d'autorisation ne renvoie
aucune variable), c'est cette valeur qui sera utilisée comme id
utilisateur par défaut. Cela se produit souvent lorsqu'on se trouve dans
un contexte d'invité, ou d'utilisateur non authentifié ;
les utilisateurs et invités se voient alors attribué un id
utilisateur spécifique qui permettra de se connecter et
d'accéder à certaines ressources.Variable-XXX
renvoyée par le
fournisseur d'autorisation via une option du style
UserExpr "%{reqenv:XXX}"
. Si cette option
est spécifiée, et si l'id utilisateur ne peut pas être définie
via l'expression après une authentification réussie, la requête
sera rejetée avec un code d'erreur 500.