Identification de l'utilisateur par récupération d'une session
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.
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.landure.fr/symfony/identification-de-lutilisateur-par-recuperation-dune-session/restoringsessionstorage-class.php \
--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
- Merci à Rob Rosenbaum pour son article Using Flash Upload with PHP & symfony.
- Merci aux développeurs de SWFUpload.