Symfony 2.3: ¿Cómo actualizo el usuario autenticado desde la base de datos?
Digamos, por ejemplo, que otorgo un nuevo rol al usuario actualmente autenticado en un controlador, de esta manera:
$em = $this->getDoctrine()->getManager();
$loggedInUser = $this->get('security.context')->getToken()->getUser();
$loggedInUser->addRole('ROLE_XYZ');
$em->persist($loggedInUser);
$em->flush();
En la siguiente página, cuando vuelva a capturar al usuario autenticado:
$loggedInUser = $this->get('security.context')->getToken()->getUser();
No se les otorga el papel. Supongo que esto se debe a que el usuario está almacenado en la sesión y debe actualizarse.
¿Cómo hago esto?
Estoy usando FOSUserBundle si eso hace una diferencia.