Serveur HTTP Apache Version 2.4 (original) (raw)
Module Apache mod_authn_core
| Description: | Le noyau de l'authentification |
|---|---|
| Statut: | Base |
| Identificateur de Module: | authn_core_module |
| Fichier Source: | mod_authn_core.c |
| Compatibilité: | Disponible depuis la version 2.3 d'Apache |
Sommaire
Ce module fournit le coeur des fonctionnalités d'authentification permettant d'accorder ou de refuser l'accès à certaines zones du site web. Les directives fournies par le module[mod_authn_core](../mod/mod%5Fauthn%5Fcore.html) sont communes à tous les fournisseurs d'authentification.
Création d'alias de fournisseurs d'authentification
Il est possible de créer des fournisseurs d'authentification étendus dans le fichier de configuration et de leur assigner un alias. Le fournisseur ainsi nommé peut alors être référencé à l'aide des directives [AuthBasicProvider](../mod/mod%5Fauth%5Fbasic.html#authbasicprovider) ou [AuthDigestProvider](../mod/mod%5Fauth%5Fdigest.html#authdigestprovider) tout comme un fournisseur d'authentification de base. Outre la possibilité de créer et attribuer un alias à un fournisseur étendu, le même fournisseur d'authentification peut aussi être référencé par plusieurs sections relatives à une zone du site web.
Exemples
Cet exemple vérifie les mots de passe dans deux fichiers textes différents.
Vérification dans plusieurs fichiers de mots de passe au format texte
Première vérification
AuthUserFile "/www/conf/passwords1"Vérification suivante
AuthUserFile "/www/conf/passwords2"<Directory "/var/web/pages/secure"> AuthBasicProvider file1 file2
AuthType Basic
AuthName "Protected Area"
Require valid-user
Dans l'exemple ci-dessous, deux fournisseurs d'authentification ldap sont créés à partir du fournisseur ldap de base, et se voient attribuer un alias. L'authentification d'une même zone peut alors être traitée par plusieurs serveurs ldap :
Vérification auprès de plusieurs serveurs LDAP
AuthLDAPBindDN cn=youruser,o=ctx AuthLDAPBindPassword yourpassword AuthLDAPURL ldap://ldap.host/o=ctx AuthLDAPBindDN cn=yourotheruser,o=dev AuthLDAPBindPassword yourotherpassword AuthLDAPURL ldap://other.ldap.host/o=dev?cnAlias "/secure" "/webpages/secure" <Directory "/webpages/secure">
AuthBasicProvider ldap-other-alias ldap-alias1
AuthType Basic
AuthName LDAP_Protected Place
Require valid-user
# Notez que Require ldap-* ne fonctionnerait pas ici, car
# AuthnProviderAlias ne fournit pas de configuration pour les
# fournisseurs d'autorisation implémentés dans le même module que le
# fournisseur d'authentification.
Directive AuthName
| Description: | L'identifiant de l'autorisation à utiliser avec l'authentification HTTP |
|---|---|
| Syntaxe: | AuthName domaine d'autorisation |
| Contexte: | répertoire, .htaccess |
| Surcharges autorisées: | AuthConfig |
| Statut: | Base |
| Module: | mod_authn_core |
Cette directive permet de définir l'identifiant d'autorisation pour un répertoire. Cet identifiant est fourni au client de façon à ce qu'il sache quels nom d'utilisateur et mot de passe envoyer.AuthName accepte un seul argument ; s'il contient des espaces, il doit être entouré de guillemets. Pour pouvoir fonctionner, la directive AuthName doit être utilisée en combinaison avec les directives [AuthType](#authtype) et [Require](../mod/mod%5Fauthz%5Fcore.html#require), ainsi que des directives comme [AuthUserFile](../mod/mod%5Fauthn%5Ffile.html#authuserfile) et [AuthGroupFile](../mod/mod%5Fauthz%5Fgroupfile.html#authgroupfile).
Par exemple :
AuthName "Top Secret"
La chaîne fournie comme argument à AuthName apparaîtra dans la boîte de dialogue d'authentification pour la plupart des navigateurs.
A partir de la version 2.4.55 du serveur HTTP Apache, il est possible de définir cette directive en utilisant la syntaxe des expressions pour spécifier l'identifiant d'autorisation de manière dynamique.
Exemple :
AuthName "%{HTTP_HOST}"
Voir aussi
- Authentification, autorisation et contrôle d'accès
[mod_authz_core](../mod/mod%5Fauthz%5Fcore.html)
Directive
| Description: | Regroupe un ensemble de directives qui constituent une extension d'un fournisseur d'authentification de base et lui attribue l'alias spécifié |
|---|---|
| Syntaxe: | <AuthnProviderAlias alias-fournisseur> ... |
| Contexte: | configuration globale |
| Statut: | Base |
| Module: | mod_authn_core |
Les balises <AuthnProviderAlias> et</AuthnProviderAlias> permettent de regrouper un ensemble de directives d'authentification qui seront référencées par l'alias spécifié à l'aide des directives [AuthBasicProvider](../mod/mod%5Fauth%5Fbasic.html#authbasicprovider) ou [AuthDigestProvider](../mod/mod%5Fauth%5Fdigest.html#authdigestprovider).
Cette directive n'a aucune influence sur le processus d'autorisation, même pour les modules qui fournissent à la fois l'authentification et l'autorisation.
Directive AuthType
| Description: | Type d'authentification utilisateur |
|---|---|
| Syntaxe: | AuthType None|Basic |
| Contexte: | répertoire, .htaccess |
| Surcharges autorisées: | AuthConfig |
| Statut: | Base |
| Module: | mod_authn_core |
Cette directive permet de définir le type d'authentification utilisateur pour un répertoire. Les types d'authentification disponibles sont None, Basic (implémenté par [mod_auth_basic](../mod/mod%5Fauth%5Fbasic.html)), Digest (implémenté par [mod_auth_digest](../mod/mod%5Fauth%5Fdigest.html)), etForm (implémenté par[mod_auth_form](../mod/mod%5Fauth%5Fform.html)).
Pour mettre en oeuvre l'authentification, vous devez aussi utiliser les directives [AuthName](#authname) et [Require](../mod/mod%5Fauthz%5Fcore.html#require). De plus, le serveur doit pouvoir disposer d'un module fournisseur d'authentification comme [mod_authn_file](../mod/mod%5Fauthn%5Ffile.html) et d'un module d'autorisation comme [mod_authz_user](../mod/mod%5Fauthz%5Fuser.html).
Le type d'authentification None désactive l'authentification. Lorsqu'une authentification est définie, elle est en général héritée par chacune des sections de configuration qui suivent, à moins qu'un autre type d'authentification ne soit spécifié. Si l'on ne souhaite pas mettre en oeuvre d'authentification pour une sous-section d'une section authentifiée, on doit utiliser le type d'authentification None ; dans l'exemple suivant, les clients peuvent accéder au répertoire/www/docs/public sans devoir s'authentifier :
<Directory "/www/docs"> AuthType Basic AuthName Documents AuthBasicProvider file AuthUserFile "/usr/local/apache/passwd/passwords" Require valid-user
<Directory "/www/docs/public"> AuthType None Require all granted
A partir de la version 2.4.55, il est possible de définir cette directive en utilisant la syntaxe des expressions pour spécifier le type d'authentification de manière dynamique.
Veuillez noter que, lorsque l'authentification n'est pas activée, les clients qui se sont déjà authentifiés pour une autre zone de l'arborescence du site continueront en général à envoyer des en-tête d'authentification HTTP ou des cookies avec chaque requête, sans se préoccuper de savoir si le serveur nécessite vraiment une authentification pour chaque ressource.
