¿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
Etiquetas: logout, redirect, RedirectResponse, setFlash, Symfony2
Exclente justo lo que buscaba me funcino completamente Gracias.