You are not logged in.
bonjour
je possede xamp 2.1 + windows 2003 + apache 2.2 + php 5
je dispose de 2 domaine sactives directory
j'ai defini l'authentification sur mes 2 domaines ldap (version 0.70 glpi mode dev)
l'authentification automatique (cf modification index.php et login.php) fonctionne sans probleme avec un user du domaine A mais jaimais avec un user du domaine B
alors que l'utilisateur du domaine B arrvie a s'authentifier en login manuel sur authentification ldap externe
merci de votre aide precieuse
bravo pour votre logiciel GLPI
Offline
bonjour,
c'est quoi l'authentification automatique ?
Offline
ça va permettre aux personnes qui se connecte à ton glpi d'être authentifiée automatique grâce à leur identifiant dans active directory.
Production -> Server OS: RedHat Enterprise Linux v5.5 - GLPI: v0.72.4
Développement -> Server OS: Windows XP - GLPI: v0.83.2
Offline
bonjour,
j'ai lu beaucoup de posts sur se sujet "authentification automatique"
J'ai du mal a comprendre :
le module mod_auth_sspi.so est compatible avec Apache 2, jusque là on est Ok
Ensuite Apache2 est compatible avec n'importe quelle distrib bon on est tj Ok!
Enfin pourquoi l'authentification Apache2 mod_auth_sspi.so n'est pas compatible avec une distrib linux?
bon si je n'ai rien compris faites le moi savoir!! je voudrai mettre en place (si possible) l'authentification auto sur mon réseau Jeudi!
caractéristique dans la signature.
d'avance merci
cdlt
PY
OCS Inventory NG: 1.01 GLPI: 0.72.4 en prod
Server OS: 2003
Server Hardware: Machine virtuelle / 512Ko RAM
Inventoried computers: 160 Windows 2000/XP
Offline
Bonjour,
Je tourne sur windows 2003 Server+IIS6+PHP 5.2.3+MySQL 6
lorsque j'effectue l'authentification automatique en modifiant les 2 fichiers login.php et index.php en suivant le lien suivant :
http://glpi-project.org/wiki/doku.php?id=fr:authautoad
avec sur IE7 et 6 activation de authentification intégré
j'ai une page blanche sur http://localhost/glpi
si je fais http://localhost/glpi/login.php, j'ai le message suivant :
Identifiant ou mot de passe vide.
je ne vois pas ou je me suis trompé !?
avez-vous une suggestion?
merci
Last edited by breakeradc91 (2007-06-27 16:48:48)
Installation : Package Ocs NG RC3 - OS : Windows Server 2003 SP1 / logiciel de décompactage : Winrar / Navigateurs : Internet Explorer 6sp1 / 7
Serveur : MySql : 6.0 / Langage : PHP 5.2.3 / IIS 6
Offline
qq a une réponse a ma question?
D'avance merci
bonjour,
j'ai lu beaucoup de posts sur se sujet "authentification automatique"
J'ai du mal a comprendre :
le module mod_auth_sspi.so est compatible avec Apache 2, jusque là on est Ok
Ensuite Apache2 est compatible avec n'importe quelle distrib bon on est tj Ok!
Enfin pourquoi l'authentification Apache2 mod_auth_sspi.so n'est pas compatible avec une distrib linux?
bon si je n'ai rien compris faites le moi savoir!! je voudrai mettre en place (si possible) l'authentification auto sur mon réseau Jeudi!
caractéristique dans la signature.
d'avance merci
cdlt
PY
OCS Inventory NG: 1.01 GLPI: 0.72.4 en prod
Server OS: 2003
Server Hardware: Machine virtuelle / 512Ko RAM
Inventoried computers: 160 Windows 2000/XP
Offline
bonjour,
pour votre information des que je modifie le fichier index.php, il me retourne une page blanche !
bizarre?
Installation : Package Ocs NG RC3 - OS : Windows Server 2003 SP1 / logiciel de décompactage : Winrar / Navigateurs : Internet Explorer 6sp1 / 7
Serveur : MySql : 6.0 / Langage : PHP 5.2.3 / IIS 6
Offline
Voici les modifs a faire pour avoir une authentification automatique avec un Serveur GLPI Linux.
j'ai commencé a creer un wiki mais je n'arrive pas a copier le code.
je le poste donc ici , si quelqu'un veux bien aller le deposer.
fichier index.php
48 : // Using CAS server
49 : if (!empty($cfg_glpi["cas_host"])&&!isset($_GET["noCAS"])) {
50 : glpi_header("login.php");
51 : }
*> $ip = $_SERVER['REMOTE_ADDR'];
*> $commande = "nmblookup -A ".$ip;
*> exec ($commande ,$tableau);
*> foreach ($tableau as $colone)
*> {
*> if (strpos($colone,"<03>"))
*> {
*> $login = strtok($colone," \t");
*> }
*> }
*> $ident = strtolower($login);
*> if ( $ident != '' ){
*> header("Location: login.php?login_name=".$ident);
*> }
52 : // Send UTF8 Headers
53 : header("Content-Type: text/html; charset=UTF-8");
54 : // Start the page
fichier login.php
54 : if (isset($_POST['login_password'])){
55 : $_POST['login_password']=unclean_cross_side_scripting_deep($_POST['login_password']);
*> $http_auth = false;
*> }
*> else if (!isset($_POST['login_password'])){
*> $_POST['login_password']=unclean_cross_side_scripting_deep($_POST['login_password']);
*> $http_auth = false;
*> $ip = $_SERVER['REMOTE_ADDR'];
*> $commande = "nmblookup -A ".$ip;
*> exec ($commande ,$tableau);
*> foreach ($tableau as $colone)
*> {
*> if (strpos($colone,"<03>"))
*> {
*> $login = strtok($colone," \t");
*> }
*> }
*> $ident = strtolower($login);
*>
*> if ( $ident != '' ){
*> $_POST['login_name'] = $ident;
*> $http_auth = true;
*> }
*> }
56 : if (!isset($_POST["noCAS"])&&!empty($cfg_glpi["cas_host"])) {
72 : if (!$auth_succeded) // Pas de tests en configuration CAS
73 : if (empty($_POST['login_name'])||empty($_POST['login_password'])){
73 *: if ((empty($_POST['login_name'])||empty($_POST['login_password'])) &&!$http_auth) {
74 : $identificat->err=$lang["login"][8];
75 : } else {
94 : //if ($auth_succeded) $user_present = $identificat->user->getFromDBbyName(utf8_decode($_POST['login_name']));
95 :
96 : }
*> // try HTTP authentication
*> if ($http_auth){
*>
*> $found_dn=false;
*> $auth_succeded=0;
*> $found_dn=$identificat->ldap_get_dn_active_directory($cfg_glpi["ldap_host"],$cfg_glpi["ldap_basedn"],$_POST['login_name'],$cfg_glpi["ldap_rootdn"],$cfg_glpi["ldap_pass"],$cfg_glpi["ldap_port"]);
*> if ($found_dn!=false){
*> $auth_succeded = true;
*> $identificat->extauth=1;
*> $user_present = $identificat->user->getFromDBbyName($_POST['login_name']);
*> $identificat->user->getFromLDAP_active_directory($cfg_glpi["ldap_host"],$cfg_glpi["ldap_port"],$found_dn,$cfg_glpi["ldap_rootdn"],$cfg_glpi["ldap_pass"],$cfg_glpi['ldap_fields'],$_POST['login_name'],$cfg_glpi["ldap_condition"]); }
*>
*>
*> }
97 :
98 : // Second try IMAP/POP
99 : if (!$auth_succeded&&!empty($cfg_glpi["imap_auth_server"])) {
Last edited by Cuty (2007-08-28 14:55:29)
Offline
J'ai déposé ton code sur le Wiki dans l'article que tu avais commencé. Je n'ai pas de machine sous linux donc je ne peux pas tester ton code mais merci a toi de nous en faire profiter.
Amis Linuxiens, a vos claviers ..
Last edited by Garga (2007-08-28 16:56:57)
Offline
Je te remerci beaucoup,
je suis pas un grand utilisateur de wiki, et impossible de comprendre comment ajouter du code -_-
j'espere que ca marchera chez tout le monde
Offline
attention,
il semblerait que la commande nmblookup ne remonte pas les logins windows de tous les utilisateurs.
C'est un problème lié à la machine, et non au profil.
je suis entrain de regarder pourquoi sur certains postes, il n'y a pas remontée de l'information.
Si quelqu'un a plus d'informations la dessus, je suis preneur
Last edited by Cuty (2007-08-30 09:28:05)
Offline
il semblerait que la commande nmblookup ne remonte pas les logins windows de tous les utilisateurs.
ça me le fait parfois, sur des machines connectées en wifi. En les mettant en veille prolongée, puis en les rallumant, ou alors entre-temps en se branchant sur d'autres réseaux sans-fil, ça le fait. Mais après un reboot complet, ça roule.
je vais tester le bout de code ci-dessus.
Offline
aloreuuuuu
le code fonctionne, impec.
j'ai rajouté la fonctionnalité que si on veut se connecter avec un autre code, il faut cliquer sur le bouton logout et à ce moment-là il propose l'écran de connexion standard.
j'avais essayé en me basant sur la variable $_SERVER['HTTP_REFERER'] (si égale à l'url logout, alors j'affiche l'écran standard) mais ça ne fonctionne que pour Firefeox (pb entre IE et apache, il parait...).
du coup j'ai modifié le fichier logout.php pour qu'il envoie une variable bien précise, et je teste cette variable.
fichier logout.php
ligne 49
49c49,50
< if (isset($_SESSION["noCAS"])) $noCAS="?noCAS=1";
---
> if (isset($_SESSION["noCAS"])){ $noCAS="?noCAS=1";}
> else { $noCAS="?tmpref=logout"; }
fichier index.php
ligne 53
53 if (!isset($tmpref)) $tmpref=""; // pour éviter les warnings
54
55 $ip = $_SERVER['REMOTE_ADDR'];
56 $commande = "nmblookup -A ".$ip;
57 exec ($commande ,$tableau);
58 foreach ($tableau as $colone)
59 {
60 if (strpos($colone,"<03>"))
61 {
62 $login = strtok($colone," \t");
63 }
64 }
65 $ident = strtolower($login);
66 if ( $ident != '' && $tmpref!="logout"){ //si la variable est égale à logout pas de redir
67 header("Location: login.php?login_name=".$ident);
68 }
et ça roule pour IE et Firefox
bon, c'est bricolage et presque pas réfléchi, donc si quelqu'un a plus joli, faut pas hésiter !
a+
Offline
Bonjour,
Je cherche moi aussi à faire de l'authentification automatique avec GLPI à partir de IE ou FF.
J'ai testé les différentes modifications du code trouvées dans les posts mais rien à faire, ça ne fonctionne pas.
Voici ma conf:
GLPI 0.63.3 installé sur DEBIAN ETCH, Apache 2.2.3, Php 5.2.0
AD sur Win2003
Je ne connais rien en PHP mais en suivant les posts j'ai modifié mes index.php et login.php.
Maintenant, losrque j'ouvre dans IE l'adresse :
http://srv-glpi/glpi/login.php
J'obtient,
Identifiant ou mot de passe vide.
Se reconnecter
Si j'ouvre :
http://srv-glpi/glpi/index.php
J'obtient la mire de login habituelle.
Il ne me reste plus que ce point à régler avant de mettre en prod GLPI au niveau des utilisateurs.
Ce serait super si vous pouviez m'aider.
Je parle bien d'une authentification auto avec GLPI sur serveur LINUX, APACHE2 et navigateur IE ou FF.
Bravo à tous lceux qui font avancer ce magnifique projet.
GLPI 0.68.3 - Apache/2.2.3 (Debian) PHP/5.2.0-8+etch7 mod_perl/2.0.2 Perl/v5.8.8
GLPI 0.68.2 - Apache/2.0.54 (Debian GNU/Linux) - PHP/4.3.10-16 - MYSQL Ver 14.7 Distrib 4.1.11
Offline
Il te faut toujorus pointer sur index.php en tant que page d'entrée.
c'est elle qui va ensuite faire la redirection avec login.php avec les bons paramètres.
je vais essayer de t'expliquer les modifs de index.php :
*> $ip = $_SERVER['REMOTE_ADDR'];
On récupère l'adresse de l'ordi client.
*> $commande = "nmblookup -A ".$ip;
on exécute sur le serveur la commande nmblookup qui permet de récupérer des infos sur la session windows ouverte sur le poste client. Il te faut donc cette commande sinon ça ne marchera pas !
Tu peux essayer donc sur ton serveur en ligne de commande :
nmblookup -A <ton addresse ip>
et vérifier que tu as une ligne avec la balise <03> suivi du nom de session de l'utilisateur connecté (cf ci-dessous).
*> exec ($commande ,$tableau);
*> foreach ($tableau as $colone)
*> {
*> if (strpos($colone,"<03>"))
*> {
*> $login = strtok($colone," \t");
*> }
*> }
*> $ident = strtolower($login);
on récupère le résultat de la commande, on le parcoure et on extrait le nom de session (dernière balise <03>).
*> if ( $ident != '' ){
*> header("Location: login.php?login_name=".$ident);
*> }
et si on a bien trouvé le login ($ident pas vide) on redirige ver login.php en lui donnant ce paramètre.
sinon il affiche la page de login standard.
ensuite login.php va faire ce qu'il faut pour ouvrir glpi.
si tu appelles login.php directement, c'est normal qu'il te donne ce message d'erreur.
je pense donc que tu as un problème au niveau de la récup du nom de session windows
Last edited by meuced (2007-09-27 12:03:36)
Offline
OK merci, tu viens de pointer mon problème => la commande nmblookup ne fonctionne pas en ligne de commande sur mon serveur.
D'après ce que j'ai pu voir sur le web il faut que j'install samba pour pouvoir l'utiliser.
Je vais faire ça ensuite je vérifie le reste.
Merci pour ta réactivité.
GLPI 0.68.2 - Apache/2.0.54 (Debian GNU/Linux) - PHP/4.3.10-16 - MYSQL Ver 14.7 Distrib 4.1.11
Offline
Voici ce que me donne la commande :
srv-glpi:/var/www/glpi# nmblookup -A 10.216.11.2
Looking up status of 10.216.11.2
MONLOGIN <00> - M <ACTIVE>
MONLOGIN <20> - M <ACTIVE>
MONNOMDEDOMAINE <00> - <GROUP> M <ACTIVE>
MONNOMDEDOMAINE <1e> - <GROUP> M <ACTIVE>
MAC Address = MONADRESSEMAC
Je n'ai pas de balise <03>, j'ai donc mis <20> dans le code du fichier index.php.
Et là, lorsque de me connecte à GLPI je suis dirigé sur l'adresse :
http://srv-glpi/glpi/login.php?login_name=monlogin
C'est déjà mieux mais je reste sur la fenêtre de login GLPI
GLPI 0.68.2 - Apache/2.0.54 (Debian GNU/Linux) - PHP/4.3.10-16 - MYSQL Ver 14.7 Distrib 4.1.11
Offline
modifie la même chose mais dans le fichier login.php
Offline
attention,
il semblerait que la commande nmblookup ne remonte pas les logins windows de tous les utilisateurs.
C'est un problème lié à la machine, et non au profil.je suis entrain de regarder pourquoi sur certains postes, il n'y a pas remontée de l'information.
Si quelqu'un a plus d'informations la dessus, je suis preneur
J'ai le même problème, la balise <03> n'est pas systèmatiquement remontée, ça remonte pas sur les Windows XP qui ont le SP2.
Quelqu'un a t il plus d'info ?
GLPI 0.68.2 - Apache/2.0.54 (Debian GNU/Linux) - PHP/4.3.10-16 - MYSQL Ver 14.7 Distrib 4.1.11
Offline
ici windows XP SP2 et ça remonte bien...... sauf, en wifi, si je met en veille prolongée et que je rallume, là ça remonte plus.
Offline
OK, j'ai trouvé, c'est le service "Affichage des Messages" de Windows qu'il faut démarrer pour que la balise <03> remonte.
GLPI 0.68.2 - Apache/2.0.54 (Debian GNU/Linux) - PHP/4.3.10-16 - MYSQL Ver 14.7 Distrib 4.1.11
Offline
Bonjour,
J'ai lu avec attention presque tout ce sujet. Très intéressant.
J'ai fait attention à tout mais me reste un problème.
L'identifiant de la session est bien récupéré mais j'obtient une page avec un point et puis en dessous se reconnecter.
L'authentification intégré de windows dans IE est activé.
Comment faire ?
Voici ma configuration :
Server : Linux Debian 4.0
Plateforme Web : Apache 2.2.6 / PHP 5 / MySQL 5 / PERL
Clients : Windows XP, 2000 et IE 6 & 7.
Merci d'avance
GLPI 0.68.3-2 en production et GLPI 0.7 RC1 en test / OCSNg v1.01
Server : Linux Debian 4.0 pour GLPI / Windows Server 2003 pour l'AD
Plateforme Web : Apache 2.2.6 / PHP 5 / MySQL 5 / PERL
Clients : Windows XP, 2000 et IE 6 & 7.
Offline
dans notre cas, l'authentification intégré dans IE ne sert à rien? Elle sert, sauf erreur, uniquement dans le cas d'un serveur sous IIS/Windows.
est-ce que tu as bien configuré GLPI pour l'authentification depuis LDPA ? ça fonctionne ?
Offline
les modifications sont compatible avec la 0.7 ? ou seulement avec la 0.65?
sous linux faut t'il installe ou activé des modules pour apache?
GLPI 0.80.5, OCS-NG 1.3.3 / Centos 5.6 / Apache 2.2.3-45 / PHP 5.1.6 / Mysql 5.0.77
FusionInventory 2.3.6 / Agent 2.1.9
Navigateurs : Internet Explorer 9 / firefox 4
test : GLPI 0.80.5
Offline
chez moi c'est la 0.68.2
côté linux, il faut juste installer samba qui contient le programme nmblookup je crois.
Offline