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
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
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