Serveur HTTP Apache Version 2.4

Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

# Module Apache mod_authn_anon

Description: | Permet un accès "anonyme" à des zones protégées
Statut: | Extension
Identificateur de Module: | authn_anon_module
Fichier Source: | mod_authn_anon.c
Compatibilité: | Disponible depuis la version 2.1 d'Apache

### Sommaire

Ce module permet aux frontaux d'authentification comme `mod_auth_basic` d'authentifier les utilisateurs à la manière des sites FTP anonymes, c'est à dire en fournissant l'identifiant utilisateur spécial 'anonymous' et l'adresse email comme mot de passe. Ces adresses email peuvent être journalisées.

En combinaison avec d'autres méthodes de contrôle d'accès (base de données), ce module permet d'effectuer un véritable suivi des utilisateurs et une personnalisation de leurs accès en fonction de leur profil, tout en conservant l'accessibilité du site aux utilisateurs 'non enregistrés'. Un avantage du suivi des utilisateurs basé sur l'authentification réside dans le fait qu'il est, à l'opposé des cookies magiques et des drôles d'URLs avec préfixes ou suffixes, entièrement indépendant du navigateur et qu'il permet de partager des URLs entre plusieurs utilisateurs.

Si l'on utilise le module `mod_auth_basic`, le module `mod_authn_anon` est invoqué en affectant la valeur `anon` à la directive `AuthBasicProvider`.

### Sujets

- Exemple

### Directives

### Traitement des bugs

- Journal des modifications de httpd
- Problèmes connus
- Signaler un bug

## Exemple

L'exemple ci-dessous présente un exemple de combinaison avec l'authentification à base de fichier htpasswd "normale", et permet la connexion d'utilisateurs en tant qu'invités avec les propriétés suivantes :

- Il incite l'utilisateur à fournir un identifiant. (`Anonymous_NoUserID`)
- Il incite l'utilisateur à fournir un mot de passe. (`Anonymous_MustGiveEmail`)
- Le mot de passe fourni doit être une adresse email valide, c'est à dire contenant au moins un '@' et un '.'. (`Anonymous_VerifyEmail`)
- Les valeurs possibles pour l'identifiant utilisateur sont `anonymous, guest, www, test ou welcome`, et la vérification n'est pas sensible à la casse. (`Anonymous`)
- Les adresses email entrées dans le champ passwd sont enregistrées dans le fichier journal des erreurs. (`Anonymous_LogEmail`)

### Exemple

    <Directory "/var/www/html/private">
        AuthName "Use 'anonymous' & Email address for guest entry"
        AuthType Basic
        AuthBasicProvider file anon
        AuthUserFile "/path/to/your/.htpasswd"

        Anonymous_NoUserID off
        Anonymous_MustGiveEmail on
        Anonymous_VerifyEmail on
        Anonymous_LogEmail on
        Anonymous anonymous guest www test welcome

        Require valid-user
    </Directory>

## Directive Anonymous

Description: | Définit la liste des identifiants utilisateur autorisés à accéder sans vérification du mot de passe
Syntaxe: | `Anonymous utilisateur [utilisateur] ...`
Contexte: | répertoire, .htaccess
Surcharges autorisées: | AuthConfig
Statut: | Extension
Module: | mod_authn_anon

Une liste d'un ou plusieurs identifiants utilisateur spéciaux autorisés à accéder sans vérification du mot de passe. Les identifiants doivent être séparés par un espace. Pour spécifier un identifiant contenant un espace, on peut utiliser les guillemets ' ou ", ou le caractère d'échappement \.

Veuillez noter que la vérification n'est pas sensible à la casse.
Il est fortement conseillé d'intégrer l'utilisateur spécial '`anonymous`' dans la liste des identifiants.

### Exemple:

    Anonymous anonymous "Not Registered" "I don't know"

Dans cet exemple, l'utilisateur peut accéder au site sans vérification du mot de passe en utilisant l'identifiant "anonymous", "Not Registered", "I Don't Know" ou encore "AnonyMous".

Depuis Apache 2.1, il est possible de remplacer la liste des identifiants autorisés par le caractère "`*`", ce qui permet d'utiliser n'importe quel identifiant pour pouvoir accéder au site.

## Directive Anonymous_LogEmail

Description: | Détermine si le mot de passe fourni sera enregistré dans le journal des erreurs
Syntaxe: | `Anonymous_LogEmail On|Off`
Défaut: | `Anonymous_LogEmail On`
Contexte: | répertoire, .htaccess
Surcharges autorisées: | AuthConfig
Statut: | Extension
Module: | mod_authn_anon

Lorsque cette directive est définie à `On`, valeur par défaut, le 'mot de passe' fourni (censé contenir une adresse email valide) est enregistré dans le journal des erreurs.

## Directive Anonymous_MustGiveEmail

Description: | Détermine si l'abscence de mot de passe est autorisée
Syntaxe: | `Anonymous_MustGiveEmail On|Off`
Défaut: | `Anonymous_MustGiveEmail On`
Contexte: | répertoire, .htaccess
Surcharges autorisées: | AuthConfig
Statut: | Extension
Module: | mod_authn_anon

Détermine si l'utilisateur doit spécifier une adresse email comme mot de passe. Lorsque cette directive est définie à `On`, l'abscence de mot de passe est interdite.

## Directive Anonymous_NoUserID

Description: | Détermine si le champ identifiant peut être vide
Syntaxe: | `Anonymous_NoUserID On|Off`
Défaut: | `Anonymous_NoUserID Off`
Contexte: | répertoire, .htaccess
Surcharges autorisées: | AuthConfig
Statut: | Extension
Module: | mod_authn_anon

Lorsque cette directive est définie à `On`, les utilisateurs peuvent laisser le champ identifiant vide (et peut-être aussi le champ mot de passe selon la définition de la directive `Anonymous_MustGiveEmail`). Ceci peut s'avérer très utile pour les utilisateurs de MS-Explorer qui n'ont pour seule possibilité que d'appuyer sur Entrée ou de cliquer directement sur le bouton OK, ce qui semble être une réaction naturelle.

## Directive Anonymous_VerifyEmail

Description: | Détermine s'il faut vérifier que le format de l'adresse email fournie comme mot de passe est correct
Syntaxe: | `Anonymous_VerifyEmail On|Off`
Défaut: | `Anonymous_VerifyEmail Off`
Contexte: | répertoire, .htaccess
Surcharges autorisées: | AuthConfig
Statut: | Extension
Module: | mod_authn_anon

Lorsque cette directive est définie à `On`, Apache vérifie que le 'mot de passe' entré contient au moins un '@' et un '.' afin d'inciter les utilisateurs à fournir des adresses email valides (voir ci-dessus la directive `Anonymous_LogEmail`).