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.

Respuestas a la pregunta(4)

Su respuesta a la pregunta