Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

¿Como evitar que al momento de registrar un nuevo usuario se haga Autologin, FOSUserBundle?

9 de junio de 2016

Lo que sucede es que en mi aplicación solo el usuario administrador puede agregar nuevos usuarios pero cuando creo uno nuevo, la sesión actual para a ser o a loguearse automáticamente con el nuevo usuario. Agradezco a quien me pueda explicar como evitar eso, Gracias.


Respuestas

#1

FOSUserBundle usa los eventos para la mayoría de sus acciones. En tu caso, cuando termina todo el proceso de registro llama a un evento que te loguea automáticamente.

Tendrías que crear el controlador RegistrationController y extenderlo dentro de tu bundle.

use FOS\UserBundle\Controller\RegistrationController as BaseController;
 
class RegistrationController extends BaseController
{
...
}

Sobreescribir el método registerAction y eliminar el evento FOSUserEvents::REGISTRATION_COMPLETED que es el que te loguea de forma automática.

Puedes crear tus propios eventos y añadirlos una vez finalice el registro mostrando un mensaje flash por ejemplo.

@nonio_87

9 junio 2016, 14:20
#2

Buenas, Siguiendo con la idea de @nonio_87, no hace falta sobreescribir el controlador, con crear un listener y darle una prioridad superior a la del listener de FOS como por ejemplo priority: 2. Tu listener solo tiene que detener la propagación del evento y con eso no se va a ejecutar el listener de FOS y no se va a autenticar al usuario.

Saludos!

@manuel_j555

9 junio 2016, 15:36