Desloguear (logout) a un usuario mediante programación en Symfony2
¿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
Exclente justo lo que buscaba me funcino completamente Gracias.