- 1
[Opened] Partager sa connexion entre application
Posted by dlalleme on 05/04/2015 13:59
Bonjour,
Dans un projet, j'ai deux applications qui partagent les mêmes données (typiquement une appli admin et une autre de gestion). Lorsque je me connecte à l'une, je veux aussi être connecté à l'autre lorsque j'ouvre une page.
Je n'ai rien trouvé dans le forum alors de lance cette question.
J'ai un doute sur la faisabilité avec les outils fournis par Jelix étant donné que l'on travaille avec des sessions différentes. J'ai essayé les sessions en base de données en voulant différencier les noms de sessions mais sans succès.
Avez-vous une solution ?
Cordialement
Denis
[Opened] Partager sa connexion entre application
Posted by laurentj on 05/04/2015 14:56
Bonjour
ceci n'est pas un problème propre à Jelix, mais à PHP et les sessions.
Est-ce que chaque appli a son propre nom de domaine ?
[Opened] Re: Partager sa connexion entre application
Posted by dlalleme on 05/04/2015 15:35
Bonjour Laurent,
Oui c'est le même domaine utilisé. L'application admin est simplement accessible par mondomaine/admin.
Merci
Cordialement Denis
[Opened] Partager sa connexion entre application
Posted by laurentj on 05/06/2015 14:50
Pour partager plusieurs applis sur un même domaine mais des chemins différents, il faut qu'ils aient les cookies de sessions sur un même chemin (par défaut, le cookie de session est créé avec le chemin de la page demandée).
Pour forcer un même chemin, il faut activer shared_session
dans la conf des applis :
[sessions] shared_session = on
Et donc ainsi, les cookies auront comme chemin le basePath de l'application. Mais le basePath est par défaut "deviné" par Jelix, et peut du coup ne pas être celui de l'autre appli. Il est donc préférable de le forcer dans la conf :
[urlengine] basePath="/"
[Opened] Re: Partager sa connexion entre application
Posted by dlalleme on 05/12/2015 09:24
Bonjour Laurent,
Cela peut donc marcher si les sessions sont communes dans le répertoire /tmp (ou autre) ou avec des sessions en base.
Je teste de ce pas
Merci
Cordialement
Denis
[Opened] Re: Partager sa connexion entre application
Posted by dlalleme on 05/12/2015 09:36
J'ai un problème côté admin en utilisant les sessions en base avec jsessions
Error 500. A technical error has occured. Sorry for this trouble. Error in the main configuration. A plugin doesn't exist
Par contre, pas d'erreur du côté de l'autre application.
A+
Denis
Pour ne pas avoir l'erreur, j'ai remis le basepath à vide
[Opened] Re: Re: Partager sa connexion entre application
Posted by dlalleme on 05/12/2015 09:58
Après un premier test :
basepath=
shared_session=on
storage = "dao"
dao_selector = "jelix~jsession"
dao_db_profile = ""
Ça ne fonctionne pas ! Quand je me connecte à partir d'une application, cela me déconnecte de l'autre.
Dans l'application gestion, j'ai les infos suivantes :
jAuth::isConnected(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "cDaoRecord_admin_Jx_users_Jx_pgsql" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition
Dans l'application gestion, j'utilise jcommunity (dernière mouture)
J'ai l'impression d'avoir un décalage quelque part !
Mon cookie (application gestion) ressemble à ça :
__PHP_Incomplete_Class::__set_state(array( '__PHP_Incomplete_Class_Name' => 'cDaoRecord_admin_Jx_users_Jx_pgsql', 'login' => 'xxxxxxx', 'fk_idx_cct' => '199', 'password' => '$2y$10$LHaX3BRs6cYxPPte5a8hi.iHNVu11dnGaVIv5dj5kJvSaVZ7mewPG', 'email' => 'xxxxx.xxxxxxxxx@xxxxx.fr', 'nickname' => 'xxxxxxxx', 'status' => '1', 'keyactivate' => NULL, 'request_date' => NULL, 'create_date' => '2015-03-16 12:24:14.774516', 'create_by' => '200', 'update_date' => '2015-03-16 12:24:14.774516', 'update_by' => '200', ))
A+
Denis
[Opened] Partager sa connexion entre application
Posted by laurentj on 05/28/2015 10:54
Les deux applications n'utilisent pas les memes plugins (jcommunity vs jauth) donc effectivement, il peut y avoir des informations incompatibles entre les deux applis dans la session...
Je n'ai pas trop de solution rapide à donner :-(
[Opened] Re: Partager sa connexion entre application
Posted by dlalleme on 05/29/2015 12:05
Bonjour,
Merci de ta réponse.
Veux-tu dire qu'il aurait fallu que j'utilise jAuth au lieu de Jcommunity pour régler mon problème? C'est encore possible pour moi !
Cordialement
Denis
- 1