A free and open-source book on ZF3 for beginners

Translation into this language is not yet finished. You can help this project by translating the chapters and contributing your changes.

2.9. Authentification HTTP

Vous pouvez autoriser l'accès à votre site à certains utilisateurs. Par exemple, lorsque vous présentez votre site à votre patron, vous lui donnez un nom d'utilisateur et un mot de passe pour vous y connecter.

Pour autoriser l'accès à votre site par nom d'utilisateur et mot de passe, vous pouvez modifier le fichier virtual host comme ceci :

...
<Directory /home/username/helloworld/public/>
    DirectoryIndex index.php
    AllowOverride All
    AuthType Basic
    AuthName "Authentication Required"
    AuthUserFile /usr/local/apache/passwd/passwords
    Require valid-user
</Directory>
...

La ligne 5 définit la méthode d'authentification de base. La méthode la plus courante est Basic. Cependant, il est important de savoir que l'authentification de base envoie le mot de passe du client au serveur non crypté. Cette méthode ne devrait donc pas être utilisée pour des données hautement sensibles. Apache prend en charge une autre méthode d'authentification: AuthType Digest. Cette méthode est beaucoup plus sûre. Les navigateurs les plus récents supportent l'authentification Digest.

La ligne 6 définit le texte qui s'affichera à l'utilisateur lorsqu'il essayera de se connecter.

La ligne 7 définit le fichier où les mots de passe seront stockés. Ce fichier doit être créé avec l'utilitaire htpasswd.

La ligne 8 permettra à quiconque répertorié dans le fichier password de se connecter si le mot de passe saisi est correct.

Pour créer un fichier passwords, tapez la commande suivante :

htpasswd -c /usr/local/apache/passwd/passwords <username>

Dans la commande ci-dessus, vous devez remplacer l'espace <username> par le nom de l'utilisateur. Vous pouvez choisir un nom arbitraire, par exemple "admin". La commande demandera le mot de passe de l'utilisateur et écrira le mot de passe dans le fichier:

# htpasswd -c /usr/local/apache/passwd/passwords <username>
New password: 
Re-type new password: 
Adding password for user <username>

Lorsque l'utilisateur tente de visiter le site, il voit la boîte de dialogue d'authentification HTTP. Pour se connecter au site, il ou elle doit entrer le nom d'utilisateur et le mot de passe correspondant.

Pour plus d'informations sur l'authentification HTTP, vous pouvez consulter la rubrique Authentication and Authorization de la documentation Apache


Top