Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [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

Reply #1 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

Reply #2 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

Reply #3 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

Reply #4 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

Reply #5 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

Reply #6 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

Reply #7 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

Reply #8 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

 
Page
  1. Re: Re: Partager sa connexion entre application