|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : avril 2009 Messages : 25 ![]() |
Bonjour à tous,
Je suis en train de développer une application avec Symfony et je me rends fou depuis plusieurs heures à cause des sessions de l'utilisateur qui sont soi-disant gérées toutes seules... En fait mon problème est le suivant : Dans l'action de ma page principale (page d'accueil), je définis un certain nombre d'attributs à l'utilisateur comme par exemple $this->getUser()->setAttribute('user_id', 1) mais lorsque je veux récupérer ces attributs avec $this->getUser()->getAttribute('user_id'), j'ai une erreur car il ne trouve aucun attribut en session Dans la barre de debug Symfony, je vois qu'il n'y a aucun attribut alors que je les ai bien dans ma page d'accueil... attributeHolder: symfony/user/sfUser/attributes: { } Juste une petit info supplémentaire : je ne rencontre ce problème que sous Internet Explorer (comme par hasard... Est-ce que quelqu'un sait d'où ça peut venir afin de me sauver la vie ? Merci beaucoup ! |
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Tu développes et test sur la même machine ?
Quel est l'état des sessions dans apache ? As-tu vérifié la configuration de ton ie ? voir s'il ne raccourcis pas artificiellement la vie des sessions ? J'ai du mal à comprendre ton système de paramètres sur la pages principal, sans vérifications ultérieur, niveau sécurité, quid si un utilisateur passe directement à une page, sans passer par la page d'acceuil ? Symfony possède des outils pour gérer la sécurité, il serait peut-être intéressant de les utiliser.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : avril 2009 Messages : 25 ![]() |
Merci pour ta réponse !
Oui je développe et teste sur la même machine mais j'ai fait tester à d'autres personnes sur différentes machines et le problème est le même... Sauf qu'en local ça marche de temps en temps et c'est en prod qu'on rencontre tout le temps ce problème (j'ai un hébergement mutualisé chez OVH) avec IE mais aussi Safari (parce que les 2 bloquent par défaut les cookies...). En fait je développe une appli Facebook donc l'utilisateur arrive sur ma page principale où je l'associe à un utilisateur de ma BDD si ce n'est pas sa 1ère visite sinon je l'enregistre. Ensuite je passe en session son id, son score, ... pour pouvoir récupérer ces données dans d'autres pages sans avoir à aller chercher constamment dans la BDD. Mais si tu connais une solution plus cohérente/rigoureuse, je suis preneur |
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Tu n'as que deux solutions.
Obliger tes utilisateurs à accepter les cokies, le tester et les virer s'ils n'acceptent pas. Modifier le paramétrage de symfony pour autoriser la transmission du descripteur de session dans l'url. Attention, ceci diminue notablement la sécurité.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : avril 2009 Messages : 25 ![]() |
Salut !
Désolé de répondre si tardivement... Il n'y a pas d'autres solutions que d'obliger l'utilisateur à autoriser les cookies ? C'est pas possible de faire ça... Il n'y a rien de prévu dans le framework qui gère les sessions de façon transparente pour l'utilisateur ? |
|
|
00
|
|
|
#6 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2005 Messages : 769 ![]() |
Comme le dit Michel juste au-dessus :
Citation:
Citation:
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com