You are not logged in.
Je suis en train de mettre en place l'identification automatique, en suivant l'article dans le Wiki ( http://glpi-project.org/wiki/doku.php?id=fr:authautoad ).
Il me semble qu'il faut corriger la ligne :
$pos = stripos($_SERVER["REMOTE_USER"],"");
présente dans index.php et login.php (nouvelles versions)
par :
$pos = stripos($_SERVER["REMOTE_USER"],"\\");
cela a du mal passer à la copie
Une fois cela corrigé, fonctionnement immédiat (sur Apache2 / Win2003 & clients IE6) !
Offline
le wiki est là pour etre corrigé...
MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI : Support Contribute References Freshmeat
Offline
OK. En fait, le problème est que le Wiki mange les caractères \ à chaque sauvegarde de la page...
Lors de l'édition, j'écris "\\". Je sauvegarde. Seulement "\" s'affiche. Si j'édite à nouveau, il ne reste plus rien :"".
C'est manifestement un bug du Wiki.
Offline
bonjour tout le monde,
Je ne sais pas si c'est que chez moi, mais avec le SSO activé. Lorsque je recevais un mail concernant un ticket helpdesk avec un lien dedans, le lien ne marchait pas.
Pour corriger ce problème j'ais du modifier index.php et login.php.
dans INDEX.php j'ai changé :
header("Location: login.php?login_name=".$login);
en
if (isset($_GET["redirect"])){
header("Location: login.php?login_name=".$login."&redirect=".$_GET['redirect']);
}else
header("Location: login.php?login_name=".$login);
}
et dans LOGIN.PHP j'ai modifié :
// Redirect management
$REDIRECT="";
if (isset($_POST['redirect']))
$REDIRECT="?redirect=".$_POST['redirect'];
en
// Redirect management
$REDIRECT="";
if (isset($_REQUEST['redirect']))
$REDIRECT="?redirect=".$_REQUEST['redirect'];
J'espère que cela pourra aider quelqu'un.
Offline
c'est très intéressant, tout ça....
tout mon environnement tourne sur un serveur linux/lampp.
les postes clients sont sous WinXP, IE6
d'après les 1ers posts, je ne suis pas sur d'avoir tout bien compris, dites-moi si je me trompe.
il récupère le nom de l'utilisateur connecté sur la machine (via les variables d'env du serveur qui est sous windows), et passe par-dessus la demande du mot de passe pour se connecter à glpi sans le demander. c'est bien ça ?
pour que ça marche avec un serveur linux/apache, avec IE6 coté client, grace au bout de code javascript on peut récupérer le nom de l'utilisateur connecté sur la machine et procéder ensuite à la même chose ?
je vais tenter la manip...
c'est pas facile-facile quand même tout ça
par contre j'ai peur niveau sécurité, je ne sais pas ce que ça peut donner.....
Offline
bon, impossible de récupérer le nom de la session par le bout de code javascript...
par contre, on m'a dit qu'il est possible récupérer le nom de la session avec un environnement serveur linux comme avec IIS, à condition d'intégrer le serveur linux dans le domaine via samba...
je vous tiens au courant
Offline
Bonjour,
Je suis en train d'installer et de paramétrer GLPI en l'intégrant avec notre environnement Active Directory avec une authentification automatique.
Vous trouverez ci-dessous mon code qui me permet de résoudre les pb de getenv("USERNAME"); ou getenv('AUTH_USER' qui ne fonctionnent pas ou plus.
Pour info, l'importation des comptes AD fonctionne selon le topic http://glpi-project.org/forum/viewtopic.php?id=4805
L'authentification automatique a été mise au point en modifiant le fichier login.php sur la base proposée par le 2005-11-18 par OUKIBill (post #10)
Le problème de récupération du nom de login du poste (getenv ne fonctionne pas) a été résolu de la manière suivante :
//*************************************
$ip = $_SERVER['REMOTE_ADDR'];
$commande = "nbtstat -A ".$ip;
exec ($commande ,$tableau);
foreach ($tableauas $colone)
{
if (strpos($colone,"<03>"))
{
$login = strtok($colone," ");
}
}
$ident = strtolower($login);
************************************
A noter que la valeur "<03>" peut varier. Testez la commande nbtstat -A .
Merci aux personnes ayant postés leurs travaux et qui m'ont permis de résoudre cette problèmatique.
En éspérant que ma contribution serve à son tour.
A+
Joey Pompom
Config : GLPI 0.68.3 * PHP Version 5.2.0 * Mysql 5.0.27 * Apache/1.3.23 (Win32) ApacheJServ/1.1.2 * Windows Server 2003 Standard Edition avec AD
Offline
Offline
Je précise que ça fonctionne uniquement si le serveur apache/php est dans un environnement windows
je suis encore en train de chercher pour un environnement linux...
Last edited by meuced (2007-02-08 18:58:16)
Offline
j'ai trouvé ..
avec le serveur sous environnement linux, il suffit de remplacer nbtstat par nmblookup
et ça récup bien le nom de session.
maintenant, il ne me reste plus qu'à l'intégrer dans glpi
merci à tous ..
--
meumeu, heu-reux
Offline
Zéro en php, par contre je peux t'aider à tester si cela t'interesse : config debian, par contre jamais rien compris aux différentes lignes de code proposées, en plus cela ne marchais que sous Server Windows.
GLPI: 10.0.14 et Agent 1.7.3
Offline
moi aussi meuced je peut t'aider à tester si ta trouver une solution (je suis sous mandriva)
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
ok, c'est gentil, mais je pense que le plus dur est fait
et bien sur, je ferais un retour ici-même.
Last edited by meuced (2007-02-09 13:44:15)
Offline
il suffirait que Joey donne sonde du login.php modifié complet, sur le post #10 les lignes sont coupées...
et c'est pas facile-facile
Offline
Je suis en congé et pas les sources chez moi...
Je poste le login.php complet lundi à la reprise...
Joey Pompom
Config : GLPI 0.68.3 * PHP Version 5.2.0 * Mysql 5.0.27 * Apache/1.3.23 (Win32) ApacheJServ/1.1.2 * Windows Server 2003 Standard Edition avec AD
Offline
Je suis moi meme sur Fedora 5. Et j'ai GLpi avec l'option Ldap qui recupere L'AD de notre server 2K3 windows.
Je me propose pour tester, et je vai essayer quelques trucs cette apres midi pour faire fonctionner l'authentification auto.
Je suivrai tes demarches meuced.
Serveur fedora 7
Glpi 0.70.2
php5
Offline
lol
moi j'ai rien fais de spécial
je pense juste que la solution pour un environnement serveur linux est d'utiliser la méthode de Joey et de remplacer nbtstat par nmblookup.
j'attends juste que Joey donne son login.php complet et après ça devrait rouler tout seul
edit : il restera quelques trucs à voir, comme pouvoir se logguer avec un autre code que celui utilisé automatiquement. à voir
Last edited by meuced (2007-02-14 14:07:11)
Offline
Voilà plusieurs fois que je retest, mais ça ne veux pas fonctionner.
Avant de mettre en place une authentification completement automatique, je souhaites récupérer le USERNAME de la personne se connectant sur le serveur web.
J'ai donc créé un fichier test.php contenant ceci :
<?php
echo $_SERVER["REMOTE_USER"];
?>
Si je suis en local sur mon serveur (http://localhost/test.php), ça fonctionne bien et je récupere mon nom d'utilisateur.
Par contre, si je me connecte depuis un autre poste (http://192.168.0.3/test.php), et bien là j'ai toujours la fenêtre d'authentification HTTP qui apparait et je ne peut pas acceder au fichier.
Si vous pouviez me donner une solution...
EDIT:
J'ai trouvé la solution avec IE7
Je recherche pour Firefox, et j'expliquerais comment faire...
Last edited by Met@lnono (2007-02-14 21:13:28)
Production -> Server OS: RedHat Enterprise Linux v5.5 - GLPI: v0.72.4
Développement -> Server OS: Windows XP - GLPI: v0.83.2
Offline
edit : il restera quelques trucs à voir, comme pouvoir se logguer avec un autre code que celui utilisé automatiquement. à voir
C'est le cas chez moi. Pour cela, GLPI continue de s'ouvrir sur la page d'identification, mais j'utilise l'authentification automatique pour remplir le formulaire.
Voici mes modifs
A partir de index.php d'origine :
A la place de
echo "<div class='row'><span class='label'><label>".$lang["login"][6]." : </label></span><span class='formw'> <input type='text' name='login_name' id='login_name' size='15' /></span></div>";
echo "<div class='row'><span class='label'><label>".$lang["login"][7]." : </label></span><span class='formw'><input type='password' name='login_password' id='login_password' size='15' /> </span></div>";
mettre :
$login='';
if ( isset($_SERVER["REMOTE_USER"])){
$pos = stripos($_SERVER["REMOTE_USER"],"\\");
if (! $pos === false ){
$login = substr($_SERVER["REMOTE_USER"], $pos + 1);
}
}
if ($login !='' ) {
echo "<div class='row'><span class='label'><label>".$lang["login"][6]." : </label></span><span class='formw'> <input type='text' name='login_name' id='login_name' size='15' value='" . $login . "' onchange=\"login_password.value=''\" /></span></div>";
echo "<div class='row'><span class='label'><label>".$lang["login"][7]." : </label></span><span class='formw'><input type='password' name='login_password' id='login_password' value='****' size='15' /> </span></div>";
}
else {
echo "<div class='row'><span class='label'><label>".$lang["login"][6]." : </label></span><span class='formw'> <input type='text' name='login_name' id='login_name' size='15' /></span></div>";
echo "<div class='row'><span class='label'><label>".$lang["login"][7]." : </label></span><span class='formw'><input type='password' name='login_password' id='login_password' size='15' /> </span></div>";
}
Modif sur login.php, déjà modifié suivant le Wiki authautoad:
à la place de :
$http_auth = false;
if ( isset($_SERVER["REMOTE_USER"])){
$pos = stripos($_SERVER["REMOTE_USER"],"\\");
if (! $pos === false ){
$login = substr($_SERVER["REMOTE_USER"], $pos + 1);
if ( $login != '' ){
$_POST['login_name'] = $login;
$http_auth = true;
}
}
}
mettre:
$http_auth = false;
if ( isset($_SERVER["REMOTE_USER"])){
$pos = stripos($_SERVER["REMOTE_USER"],"\\");
if (! $pos === false ){
$login = substr($_SERVER["REMOTE_USER"], $pos + 1);
if ( $login != '' ){
if ($_POST['login_name'] == $login) $http_auth = true;
}
}
}
Config serveur: Xampp 1.5.1 / GLPI 0.65.2
Apache/2.2.0 (Win32) DAV/2 mod_ssl/2.2.0 OpenSSL/0.9.8a mod_autoindex_color mod_auth_sspi/1.0.1 PHP/5.1.1 mod_perl/2.0.2 Perl/v5.8.7
Config clients: Windows 98/2K/XP, navigateurs IE 5,6,7
Last edited by sebm (2007-02-16 14:39:36)
Offline
pouver vous preciser quand vous poster si glpi est sous windows ou linux comme serveur!
pour savori si je peut tester vos modification ou pas.
quand je teste
<?php
echo $_SERVER["REMOTE_USER"];
?>
dans les error log de apache j'ai
PHP Notice: Undefined index: REMOTE_USER
c'est normale?
Last edited by gpasquier (2007-02-16 14:32:27)
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
Est ce que le module mod_auth_sspi.so est bien activé ? cf http://glpi-project.org/wiki/doku.php?id=fr:authautoad ?
(je viens d'ajouter ma config à la fin du post).
Offline
le mod_auth_sspi.so n'est dispo que sous windows, or il me semble que gpasquier a un environnement serveur sous linux
dans la semaine je teste un mix de toutes ces solutions pour que ça fonctionne sous linux.
a+
Offline
Bon je n'arrive pas à le faire fonctionner avec Firefox v2.0.0.1, même en suivant ceci : authautoad
Sinon sur IE, il faut penser à rajouter le site sur lequel on veux s'authentifier comme sur le screen suivant :
Production -> Server OS: RedHat Enterprise Linux v5.5 - GLPI: v0.72.4
Développement -> Server OS: Windows XP - GLPI: v0.83.2
Offline
je suis en train de fignoler la procédure d'installation de glpi sur serveur lampp linux, avec auth sur AD automatique avec récup du nom de session windows ouverte sur AD
lorsqu'on clique sur le bouton pour se déconnecter de glpi, on est redirigé sur la page d'index.php. Y'a t'il moyen lorsqu'on arrive sur cette page de savoir que l'on vient de se déconnecter ?
pour être plus clair :
j'ouvre glpi, authentification automatique sans demander le user/pwd par la recup de la session windows.
je veux me conencter sous un autre compte, je clic sur le bouton "Déconnexion" pour qu'il me propose l'invite du user/pwd.
Pour cela il me faut donc un test.
Merci d'avance
ps : j'ai même fait un script de recup massiv des users d'un AD et import dans GLPI directement. le script trouvé sur le site ne fonctionnait pas avec moi, avec les includes GLPI donc j'ai tout repris.
Last edited by meuced (2007-02-28 13:27:19)
Offline
Personnellement, je préfère voir la page d'invite même lors de la première connexion. Elle rappelle à l'utilisateur sous quel nom la session est ouverte : je vois régulièrement mes collègues travailler sous une session ouverte par un autre (c'est pas bien, mais ce n'est pas un motif de licenciement !).
Donc, GLPI s'ouvre sur index.php pré-rempli, il reste juste un clic à faire, ce n'est pas un drame.
Si on clique ensuite sur Déconnexion, on revient sur index.php, il n'y a pas de test à faire.
Offline