Vous êtes ici : Accueil / Développement / Symfony 1.0 / Identification de l'utilisateur par récupération d'une session

Identification de l'utilisateur par récupération d'une session

Par Pierre-Yves Landuré Dernière modification 20/12/2011 18:33

Il arrive dans certain cas qu'il soit nécessaire d'identifier l'utilisateur par son ID de session. Cela permet par exemple de passer la session à un autre navigateur (ou autres joyeusetés du genre). Cet article vous explique comment mettre en place un tel mécanisme dans une application Symfony.

Ce guide est testé sur:

  • Symfony 1.0

Mise en place

En premier lieu, placez-vous à la racine de votre projet Symfony.

Téléchargez le fichier contenant la classe RestoringSessionStorage :

/usr/bin/wget http://howto.biapy.com/fr/developpement/symfony-1.0/identification-de-lutilisateur-par-recuperation-dune-session/RestoringSessionStorage.class.php/at_download/file \
--output-document=lib/RestoringSessionStorage.class.php

Et configurez votre application pour l'utiliser en ajoutant les lignes suivantes à votre fichier app/frontend/config/factories.yml :

all:
  storage:
    class: RestoringSessionStorage

N'oubliez pas de vider le cache de votre projet :

symfony cc

Utilisation

Pour utiliser cette mécanique de récupération de session, il vous suffit d'ajouter un paramètre "session" contenant l'Id de session aux URL ou il est nécessaire. Cela se fait très simplement par :

$url = $url . '&session=' . session_id();

Remerciements