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

  [Opened] problème avec getUserSession suite à migration de 1.4 à 1.5

Posted by tatoun59 on 06/16/2014 16:18

Bonjour,

J'ai migré mon site de la version 1.4.5 vers la 1.5.3.

Dans le constructeur de mon contrôleur, je définis une variable publique $uid que j'utilise dans les différentes fonctions de ma classe. En 1.4, pas de problème, cela fonctionne bien. Par contre, en 1.5, ma variable $uid reste vide alors que mon authentification s'est bien passée (je vois dans la debugbar que je récupère bien mon identifiant dans JELIX_USER)

class defaultCtrl extends jController {
    public $uid;
    function __construct($request) {
        parent::__construct($request);
// ici, cela ne marche pas
        $user = jAuth::getUserSession();
        $this->uid = $user->login;    
    }
    
    function index() {
//ici, ça marche
        $user = jAuth::getUserSession();
        $this->uid = $user->login;
        ...
}

Pourquoi jAuth::getUserSession() ne fonctionne plus dans mon constructeur en 1.5.3 ? A moins que mon problème ne vienne de php car je suis également passé de php 5.2 à 5.4

Merci pour votre aide

  [Opened] problème avec getUserSession suite à migration de 1.4 à 1.5

Reply #1 Posted by laurentj on 06/23/2014 15:58

Bonjour,

Effectivement il y a un changement non documenté dans Jelix 1.5 : les variables de sessions ne sont récupérées (session_start) qu'après l'instanciation du contrôleur, et non avant comme c'était le cas dans jelix 1.4. Faudrait que j'investigue si ce changement est volontaire et pourquoi (ça fait longtemps ;)).

Maintenant, tu peux faire directement un jAuth::getUserSession()->login dans tes contrôleurs plutôt que d'avoir une propriété...

  [Opened] problème avec getUserSession suite à migration de 1.4 à 1.5

Reply #2 Posted by laurentj on 06/23/2014 16:16

https://github.com/jelix/jelix/issues/166

 
Page
  1. problème avec getUserSession suite à migration de 1.4 à 1.5