You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2010-04-20 10:53:07

cauzizeau
Member
Registered: 2010-04-15
Posts: 4

authentification et test du cookie de session dans login.php

Bonjour,

Dans le cadre de la mise en place d'un Web SSO devant GLPI, j'ai installé la solution Vulture. GLPI est déployé en prod avec la  version 0.72.3 sur un Xampp/Win32.

Voilà le problème:

J'aimerais pouvoir m'authentifier sur GLPI en postant automatiquement mes infos de login/pass sur la page login.php. Visiblement ce n'est pas possible car GLPI a besoin du cookie de session $_SESSION["glpitest"] qui n'est créé que sur la page index.php.
Du coup l'authentification échoue avec le message d'erreur :
"Vous devez autoriser les cookies pour accéder à cette application"

peut être une  piste de solution :

- Si le cookie de test n'existe pas, le créer au début de la page login.php ?
       $_SESSION["glpitest"]='testcookie';
    Je ne sais pas si ça marche, je n'ai pas testé...

L'historique de ce sujet a déjà été posté sur le forum Vulture :

http://groups.google.fr/group/vulture/b … 03a83e42eb

merci pour vos réponses,
Christophe

Offline

#2 2010-04-28 16:32:58

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: authentification et test du cookie de session dans login.php

Je ne connais pas Vulture, mais à mon boulot nous avons une authentification par carte à puce.
Ce que nous avons fait :
sur le serveur GLPI, nous avons fait un lien virtuel du fichier index.php pointant sur notre page Maison.php
dans cette page,
- si il y a récupération du jeton, procédure d'authentification standard et envoi des infos à la page login.php de GLPI,
- sinon, affichage de la mire de connexion glpi. Et pour cela, nous avons bien défini $_SESSION["glpitest"]='testcookie';

Et ça marche très bien.


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

#3 2010-04-28 16:51:39

cauzizeau
Member
Registered: 2010-04-15
Posts: 4

Re: authentification et test du cookie de session dans login.php

merci pour ce retour d'expérience. Effectivement en ajoutant la variable $_SESSION["glpitest"]='testcookie'; au début de la page de login.php, cela marche correctement avec Vulture.

Je vais proposer ce patch pour GLPI.

Offline

#4 2010-04-28 17:07:00

yllen
GLPI-DEV
From: Sillery (51)
Registered: 2008-01-14
Posts: 15,278

Re: authentification et test du cookie de session dans login.php

Perso, je ne changerai pas la page d'origine login.php (en cas de nouvelle version, il faut penser à refaire la modif).
C'est pour ça que nous avons un fichier à part.


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

#5 2010-04-28 17:33:42

cauzizeau
Member
Registered: 2010-04-15
Posts: 4

Re: authentification et test du cookie de session dans login.php

Je suis d'accord que ce n'est pas une bonne pratique que de modifier le fichier login.php, mais vu que je ne peux pas utiliser de lien symbolique (GLPI est hébergé sous Windows Server), je le fais comme ça en espérant que GLPI intègre mon patch dans une prochaine 'release' que j'intégrerais alors.

Offline

#6 2010-04-28 19:08:46

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: authentification et test du cookie de session dans login.php

> je le fais comme ça en espérant que GLPI intègre mon patch dans une prochaine 'release'

Il n'y a aucune chance.
Login.php vérifie que la session contient le cookie de test afin d'assurer le bon fonctionnement des sessions et donc de GLPI.

Si tu le positionnes au début de login.php, ce test n'a plus aucune valeur.

C'est donc forcément en amont (dans TA page) qu'il faut positionner cette variable.

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#7 2010-04-29 15:31:54

cauzizeau
Member
Registered: 2010-04-15
Posts: 4

Re: authentification et test du cookie de session dans login.php

Ok, disons alors que le patch serait plutôt de rendre configurable la création du cookie de test dans login.php

Ainsi on aurait un mode ou le cookie de test n'est pas créé.
Dans mon cas, le test de la création d'un cookie est déjà réalisé en amont par une autre page dans Vulture.

L'idée de ce patch serait donc d'apporter un peu plus de souplesse dans les tests que fait GLPI sur la configuration.

non?

Offline

#8 2010-04-29 16:01:50

remi
GLPI-DEV
From: Champagne
Registered: 2007-04-28
Posts: 7,127
Website

Re: authentification et test du cookie de session dans login.php

Désolé... mais je ne vois définitivement pas l'intérêt de ce patch.

Fonctionnement GLPI normal :

- appel de la page index.php
- création du cookie
- affichage du formulaire

... remplissage par l'utilisateur et envoie...

- appel de la page login.php
- vérification du cookie
- authentification

Donc si ton SSO fait correctement son travail, il doit aussi créer le cookie. Et ça marche sans modifier login.php. C'est ce qu'on utilise chez nous sans aucun soucis.

Maintenant, clairement il y a 2 contraintes
- la page doit être sur le même serveur que GLPI (pour avoir accès aux sessions)
- le chemin des sessions doit être le même que GLPI (qui n'est pas celui par défaut)

+


Dév. Fedora 29 - PHP 5.6/7.0/7.1/7.2/7.3/7.4 - MariaDB 10.3 - GLPI master
Certifié ITILv3 - RPM pour Fedora, RHEL et CentOS sur https://blog.remirepo.net/

Offline

#9 2010-05-04 10:53:48

rjarry
Member
Registered: 2010-05-04
Posts: 1

Re: authentification et test du cookie de session dans login.php

yllen wrote:

Je ne connais pas Vulture, mais à mon boulot nous avons une authentification par carte à puce.
Ce que nous avons fait :
sur le serveur GLPI, nous avons fait un lien virtuel du fichier index.php pointant sur notre page Maison.php
dans cette page,
- si il y a récupération du jeton, procédure d'authentification standard et envoi des infos à la page login.php de GLPI,
- sinon, affichage de la mire de connexion glpi. Et pour cela, nous avons bien défini $_SESSION["glpitest"]='testcookie';

Et ça marche très bien.

Bonjour,
Je ne suis pas un pro de l'écriture php... et j'aimerai bien mettre en oeuvre cette méthode qui effectivement est plus propre que de modifier le source original.
Serait-il possible d'avoir le code... ?

Cordialement.

Offline

Board footer

Powered by FluxBB