Authentification Automatique v0.71 - Debian Etch
Article rédigé par emgenet
Introduction
Le but de ce tip est de permettre aux utilisateurs de GLPI de pouvoir s'identifier dans l'application sans avoir à retaper leur nom d'utilisateur ainsi que leur mot de passe SI et SEULEMENT SI le serveur GLPI est un serveur Debian Etch et la version de GLPI minimum 0.71.
Cet astuce fonctionne avec Apache 2 et GLPI configuré avec une authentification externe avec Active Directory. L'utilisateur doit utiliser Internet Explorer.
La configuration sur laquelle a été validé cette manipulation est celle-ci :
- GLPI : 0.71.1 et AD sur W2k3 - Internet Explorer 6sp2 et 7 - Serveur Debian Etch / Apache 2.2.3 / PHP 5.2.0 / Perl
(Fonctionne aussi avec GLPI 0.71.2 sous Ubuntu Server 8.10 (Apache 2.2.9/PHP 5.2.6/Perl 5.10.0) et deux AD 2000 et 2003, IE6 et 7 et FF3)
Par conséquent si vous testez sur une autre configuration et que cela fonctionne n'hésitez pas à compléter.
Petite précision, les modifications ainsi que le code fourni dans cet article ne sont pas de moi à part quelques lignes donc un grand merci à ceux qui se reconnaitront, je citerais surtout l'article du wiki pour configuration sur une 0.68 et Suse.
Mise en place
Mise à jour du serveur
Si vous n'avez pas encore les outils ci-dessous, merci de les installer.
apt-get install make gcc libc6-dev
apt-get install libapache2-mod-perl2
Installation de ntlm sur le serveur
Dans cette distribution (Etch) la librairie libapache2-authenntlm-perl n'existe pas encore. Le paquet a cependant été développé sur la nouvelle distribution (Lenny), vous pouvez donc trouver le paquet ici http://packages.debian.org/fr/source/lenny/libapache2-authenntlm-perl, puis faire un
tar -xvzf libapache2-authenntlm-perl_0.02.orig.tar.gz
entrer dans le nouveau répertoire, faire
perl Makefile.PL
puis
make install
Modifier votre site Apache comme ci-dessous, ( /etc/apache2/sites-available/default), en ajoutant entre les balises:
PerlModule Apache2::AuthenNTLM <Directory "/var/www/glpi"> PerlAuthenHandler Apache2::AuthenNTLM AuthType ntlm,basic AuthName paipartners require valid-user PerlAddVar ntdomain "@@DOMAIN@@ @@PDC@@ @@BDC@@" PerlAddVar ntdomain "@@DOMAIN2_AU_BESOIN@@ @@PDC2@@ @@BDC2@@" PerlSetVar defaultdomain @@DOMAIN@@ PerlSetVar splitdomainprefix 1 PerlSetVar ntlmdebug 0 PerlSetVar ntlmauthoritative off </Directory>
Variables utilisées ci-dessus :
@@DOMAIN@@ : Nom de domaine de votre domaine sans les extensions .fr .com etc
@@PDC@@ : Un contrôleur de domaine de votre infrastructure
@@BDC@@ : Un autre qui servira de secours
@@DOMAIN2_AU_BESOIN@@ : Nom de domaine d'un autre domaine si vous en avez d'autres, la ligne n'est pas obligatoire.
@@PDC2@@ : Un contrôleur de domaine de votre deuxième infrastructure
@@BDC2@@ : Un autre qui servira de secours
Un dernier point, vérifier que vos DC soient bien résolus au niveau IP, sinon, ne pas hésiter à les mettre dans le fichier /etc/hosts
Configuration de GLPI en ligne
Se connecter à GLPI avec un compte ayant les droits de modifier les authentifications.
Aller dans Configuration/Authentification
Aller dans l'onglet Autres
Dans le 3ème paramètre, Autres - Activé
Sur Champ de stockage du login dans la variable _SERVER, choisir dans la liste déroulante REMOTE_USER
Du côté des navigateurs
Internet Explorer
Il faut bien vérifier que “Activer l'authentification intégrée de Windows” dans les options avancées d' Internet Explorer soit bien coché. Puis ajouter le site glpi dans les zone de confiance intranet ou extranet.
Firefox
lancer un nouvel onglet
taper dans la barre d'adresse “about:config”
dans la liste, chercher la ligne “network.automatic-ntlm-auth.trusted-uris”
faites un double-clic sur cette ligne
ajouter “IP DU SERVEUR GLPI”
faire OK
Sous Windows Vista ou Seven
Le navigateur renvoie une erreur Internal Server Error.
Il faut ajouter une valeur dans la base de registre :
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa
Ajouter une nouvelle valeur DWORD:
La nommer « LmCompatibilityLevel » la mettre à « 1 »
Merci glpigreg
Liens du Forums
http://glpi-project.org/forum/viewtopic.php?id=11493
http://glpi-project.org/forum/viewtopic.php?id=11306
A vous de jouer
Voilà à peu près tout ce que j'ai pu rassembler sur cette ajout de fonction mais si certain d'entre vous veulent améliorer le tip alors n'hésitez pas, je suis aussi preneur!!!!