Serveur HTTP Apache Version 2.4

| 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 | 
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 sont communes à tous les
    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 ou 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.
Cet exemple vérifie les mots de passe dans deux fichiers textes différents.
# Première vérification
<AuthnProviderAlias file file1>
    AuthUserFile "/www/conf/passwords1"
</AuthnProviderAlias>
# Vérification suivante
<AuthnProviderAlias file file2>   
    AuthUserFile "/www/conf/passwords2"
</AuthnProviderAlias>
<Directory "/var/web/pages/secure">
    AuthBasicProvider file1 file2
    
    AuthType Basic
    AuthName "Protected Area"
    Require valid-user
</Directory>
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 :
<AuthnProviderAlias ldap ldap-alias1>
    AuthLDAPBindDN cn=youruser,o=ctx
    AuthLDAPBindPassword yourpassword
    AuthLDAPURL ldap://ldap.host/o=ctx
    </AuthnProviderAlias>
    <AuthnProviderAlias ldap ldap-other-alias>
    AuthLDAPBindDN cn=yourotheruser,o=dev
    AuthLDAPBindPassword yourotherpassword
    AuthLDAPURL ldap://other.ldap.host/o=dev?cn
</AuthnProviderAlias>
Alias "/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.
</Directory>
| 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 et Require, ainsi que des
    directives comme AuthUserFile et 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}"
| 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>
... </AuthnProviderAlias> | 
| 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 ou AuthDigestProvider.
| Description: | Type d'authentification utilisateur | 
|---|---|
| Syntaxe: | AuthType None|Basic|Digest|Form | 
| 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), Digest
    (implémenté par mod_auth_digest), et
    Form (implémenté par
    mod_auth_form).
Pour mettre en oeuvre l'authentification, vous devez aussi
    utiliser les directives AuthName et Require. De plus, le serveur
    doit pouvoir disposer d'un module fournisseur d'authentification
    comme mod_authn_file et d'un module d'autorisation
    comme mod_authz_user.
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>
<Directory "/www/docs/public">
    AuthType None
    Require all granted
</Directory>
    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.