Desloguear (logout) a un usuario mediante programación en Symfony2

octubre 25, 2011

¿Cómo se puede desloguear un usuario sin tener que acceder a la ruta correspondiente del logout? Para algunas funcionalidades que queramos añadir a nuestro proyecto, es posible que necesitemos desloguear al usuario. Un ejemplo podría ser el caso de desactivar/borrar su cuenta, pero puede que haya más (todo depende de nuestra imaginación 😉 ). Vamos a ver como hacerlo con Symfony2.

$this->get("request")->getSession()->invalidate();
$this->get("security.context")->setToken(null);

Como extra, podemos informar al usuario mediante un mensaje flash y le redirigimos a la página que queramos:

$this->get("session")->setFlash('message.success', true);
return new RedirectResponse($this->generateUrl('homepage'));

Evidentemente, la página a la que vamos a redirigir tiene que poder ser vista por usuarios anónimos (no debe necesitar autentificación).

Pd.: Ya escribí como Instalar Symfony2 desde cero

Tags ; , , , ,

1 comentario

    David Mar 28, 2012

    Exclente justo lo que buscaba me funcino completamente Gracias.

    Responder

Escribe un comentario

Los comentarios son moderados y se utiliza rel="nofollow" para los enlaces.