You are not logged in.
Bonjour,
Mon GLPI 0.90.3 est installé sur une Centos7.
J'ai déjà un environnement de sécurité local (par carte à puce) et je souhaiterai pouvoir me connecter au GLPI sans avoir a saisir le login / mdp.
Mes utilisateurs sont déjà dans la base GLPI et je voudrai transmettre le login et mdp via un formulaire php.
J'ai épuré le code afin d'être le plus précis possible :
autoglpi.php
<HTML>
<HEAD>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<form action="http://xx.xx.xx.xx/glpi/front/login.php" method="post" name="form">
<input type="text" name="login_name" id="login_name" value="toto"/>
<input type="password" name="login_password" id="login_password" value="titi"/>
</form>
<script>
document.form.submit();
</script>
</BODY>
</HTML>
et j'ai en retour le message : L'action que vous avez réalisée n'est pas autorisée.
en regardant le code de la page index.php et en cherchant sur le forum j'ai bien vu qu'il y une session et une fonction Html::closeForm(); à intégrer mais cela fait plusieurs jours que j'essaie sans succès...
Pouvez-vous m'éclairer afin de faire fonctionner cette page autoglpi.php ?
merci d'avance..
Last edited by dumth (2017-08-16 08:32:11)
Offline
Il faut envoyer le CSRF_compliance
$token = md5(uniqid(rand(), TRUE));
printf("<input type='hidden' name='_glpi_csrf_token' value='%s'>\n", $token);
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Avec ce code, cela ne fonctionne pas non plus,
<?php
$token = md5(uniqid(rand(), TRUE));
?>
<HTML>
<HEAD>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<form action="http://xx.xx.xx.xx/glpi/front/login.php" method="post" name="form">
<input type="text" name="login_name" id="login_name" value="titi"/>
<input type="password" name="login_password" id="login_password" value="toto"/>
<input type="hidden" name="_glpi_csrf_token" value="<?php echo $token ?>"/>
</form>
<script>
document.form.submit();
</script>
</BODY>
</HTML>
Peut être il vaut mieux intégrer la fonction Html::closeForm(); ?
j'ai essayé avec ca mais ca ne marche pas non plus... j'ai même une erreur 500
<?php
include ("http://xx.xx.xx.xx/glpi/inc/includes.php");
?>
<HTML>
<HEAD>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
<form action="http://xx.xx.xx.xx/glpi/front/login.php" method="post" name="formlogin">
<input type="text" name="login_name" id="login_name" value="titi"/>
<input type="password" name="login_password" id="login_password" value="toto"/>
<?php
Html::closeForm();
?>
<script>
document.formlogin.submit();
</script>
</BODY>
</HTML>
Il doit bien y avoir quelqu'un qui a déjà fait ca, mais depuis le temps que je cherche, rien de trouvé ou j'ai pas les bons mots clés...
Offline
Je vous envoies par mail ce que j'ai fait et qui fonctionne
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline
Merci beaucoup,
j'ai mis votre page noiss dans le dossier front, je le lance, saisie les identifiants mais j'ai toujours le message sur la page /glpi/front/login.php (avec le titre de la page : >GLPI - Accès refusé)
L'action que vous avez réalisée n'est pas autorisée.
.
Il y a bien le fichier de _sessions qui est créé avec le token... je n'ai rien modifié sur la configuration GLPI section authentification.
Y a t il un moyen de consulter un fichier de log pour savoir qu'est ce qui bloque ?
Offline
mettez-vous en mode Debug et regardez les log d'apache et de GLPI (je pencherais plutot pour apache)
CentOS 6.5 - CentOS 7.x
PHP 5.6 - PHP 7.x - MySQL 5.6 - MariaDB 10.2 + APC + oOPcache
GLPI from 0.72 to dev version
Certifiée ITIL (ITV2F, ITILF, ITILOSA)
Offline