IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Perte de session utilisateur


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut Perte de session utilisateur
    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 !

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    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.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    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

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    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é.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 25
    Par défaut
    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 ?

  6. #6
    Membre émérite Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Par défaut
    Comme le dit Michel juste au-dessus :
    Modifier le paramétrage de symfony pour autoriser la transmission du descripteur de session dans l'url. Attention, ceci diminue notablement la sécurité.
    -

    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
    Je ne connais pas ton application qui a peut-être des spécificités qui t'obligent à faire cela, donc je ne peux répondre que sur le principe. Et sur le principe : oui, il y a une façon bien plus cohérente, rigoureuse et solide de faire cela, c'est... d'aller chercher les données en bdd à chaque page affichée. Sinon, tu prends des risques de sécurité et de désynchronisation des données.

Discussions similaires

  1. [2.x] symfony2 - perte aléatoire de session utilisateurs
    Par Benaress dans le forum Symfony
    Réponses: 9
    Dernier message: 12/05/2014, 13h59
  2. [JSP][session] perte de session et sendRedirect
    Par blaz dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2007, 09h32
  3. [Struts]Redirection globale en cas de perte de session
    Par Mercenary Developer dans le forum Struts 1
    Réponses: 10
    Dernier message: 03/02/2006, 14h40
  4. [navigateur]Problême de pertes de sessions sous IE (.js)
    Par Invité4 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 21/11/2005, 17h53
  5. [VB.NET] Perte de session entre 2 projets
    Par TekP@f dans le forum ASP.NET
    Réponses: 3
    Dernier message: 02/05/2005, 09h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo