Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 02-06-2016 17:33:26

RodFrank
Nouveau membre
Date d'inscription: 25-03-2014
Messages: 6

ZEND_SESSION ZEND 1.11 Modifier la session utilisateur

Bonjour,

Je travail sur une appli web développée avec Zend 1.11.
J'ai des compte utilisateurs et un système de droit gérer avec ACL.

Mon problème est que lorsque que veux modifier les données stocké en session du compte de mon utilisateur, comme les droits par exemple, je n'y arrive pas.

Code:

//En simple voila mes données en sessions:

$auth = Zend_Auth::getInstance();
$auth->getIdentity()->USER_id;
$auth->getIdentity()->USER_nom;
$auth->getIdentity()->USER_acl_roles;

Admettons que mon utilisateurs ai changé son nom, je voudrais mettre à jour la session comme suit:

Code:

//Methode normal, enfin je crois....
$authStorage = Zend_Auth::getInstance()->getStorage();
$authData = $authStorage->read();                   
$authData->USER_name = 'newName';
$authStorage->write($authData);
                           
//ou Mode bourrin sinon
$_SESSION['Zend_Auth']['storage']->USER_name = 'TuVasChangerDeNomOui????';

Cependant aucune de c'est deux méthodes ne fonctionne.
Ma session est belle est bien édité pendant l’exécution du code PHP qui suivra, mais dés que je recharge ma page la session redevient comme avant.

Apparemment ma session se fait écraser par une copie de la session d'origine stockée dans un cookie de Zend.
A chaque chargement de page la session est écrasé avec le contenu du cookie.

http://framework.zend.com/manual/1.12/f … ement.html

D’après la doc je dirais que ce paramètre : use_only_cookies n'est pas étranger à mes malheurs.
Cependant il est explicitement précisé qu'il ne faut pas le changé pour des raisons de sécurités.

Comment changé les données de ma session dans c'est condition ?

Pour le moment la seul solution que j'ai trouvé c'est de faire ma session perso à coté Zend_Auth->storage et d'abandonné complément la gestion de Session de ZEND.

Mais c'est dommage qu'en même...

Quelqu'un a une idée de ce qui cloche dans ma façon de faire.
Un paramètre à changer ? une fonction à utiliser ?

merci d'avance.

Dernière modification par RodFrank (02-06-2016 17:35:05)

Hors ligne

 

#2 13-06-2016 10:22:43

RodFrank
Nouveau membre
Date d'inscription: 25-03-2014
Messages: 6

Re: ZEND_SESSION ZEND 1.11 Modifier la session utilisateur

Bonjour,

Après de longue recherche j'ai trouvé le problème.

Dans une classe du projet qui surcharge la class Zend_Controller_Action.
Dans la fonction predispatch qui surcharge la fonction du parent il y avait un :

Code:

session_write_close() ;

Apparemment Zend une fois la session fermé de cette manière régénère la session.
ZEND vaux qu'on passe par ses fonctions pour kill la session.
Enfin c'est ce qu'il me semble comprendre en mettant le nez dans le code de ZEND.

merci qu'en même wink

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages