03 05 | 2015

Gérer l'authentification avec APACHE IBM i

Rédigé par DUMAS Gautier

Classé dans : PHP sur IBM i, IBM i (AS/400), Zend

Cet article présente une solution de protection de répertoires web par authentification du serveur web (APACHE) à l'aide des fichiers .htaccess sur IBM i.

Lors de la mise en place d'un environnement web (PHP, APACHE, Base de données), nous retrouvons très régulièrement le besoin de protéger des répertoires ou des applications se situant sous le document root.

Les exemples sont nombreux :

  • ajouter une protection à la méthode d'authentification de la solution phpMyAdmin (solution graphique en PHP pour gérer la base de données MySQL)
  • protéger des documents d'un téléchargement via l'url

La méthode de protection APACHE que nous retrouvons le plus souvent est l'utilisation d'un .htaccess dans le répertoire à protéger avec l'utilisation de la directive AuthUserFile. Cette solution fonctionne parfaitement sur les plateformes Windows et Linux. Elle consiste à préciser dans le .htaccess l'emplacement d'un fichier nommé .htpasswd qui va contenir les couples identifiant / mot de passe des utilisateurs ayant des droits sur ce répertoire.

Dans le cas de notre environnement IBM i, après l'installation du Zend Server, c'est le serveur web de l'IBM i qui est utilisé (certes APACHE mais un APACHE IBM i). Cet APACHE n'a pas la directive AuthUserFile de disponible. Pour mettre en place le même type de protection sur notre APACHE IBM i, nous allons utilisé la directive PasswdFile.

Voici un exemple de .htaccess à mettre dans le répertoire à protéger :

    AuthType Basic
          AuthName "Restricted Files"
          PasswdFile %%SYSTEM%%
          Require valid-user


 

La valeur %%SYSTEM%% va demander l'authentification IBM i (UserProfile / Mot de passe de notre IBM i).

Plus d'informations sur les valeurs possibles sur :

http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzaie/rzaiemod_as_auth.htm%23passwdfile

Par ailleurs, si vous mettez en place la solution avec la directive AuthUserFile comme sous Windows ou Linux, vous allez obtenir le code erreur suivant dans les logs APACHE :

 

ZSRV_MSG0658: Directive AuthUserFile is not a recognized HTTP server directive. Correct or remove the directive. Then retry the request

 


Il est fréquent de confondre les messages ZSRV_MSGnnnn comme des messages de Zend Server , mais ils sont en fait des messages d'IBM HTTP Server.
Ils sont au format ZSRV_MSGxxxx  mais ne sont pas des messages Zend Server. Le préfixe de ZSRV est utilisé par IBM HTTP Server depuis longtemps et avant le premier produit Zend Server sur IBM i.

 

Il faut donc être vigilant avec l'utilisation du serveur web de l'IBM i car il y a quelques directives qui ne sont pas prises en charge et quelques autres qui sont uniques à IBM HTTP Server.

 

Vous pouvez maintenant gérer vos authentifications APACHE sur IBM i.

 

 

Les commentaires sont fermés.

Qui sommes-nous ?

  • Notos, expert IBMi (AS/400) et spécialiste de l’informatisation des PME/PMI est le partenaire privilégié des entreprises qui veulent moderniser leur Informatique.
  • En savoir plus

Archives

Derniers commentaires