Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github
Às vezes, é útil poder trocar de um usuário para outro, sem ter que sair e entrar novamente (por exemplo, quando você está depurando ou tentando entender um bug que um usuário vê e que você não consegue reproduzir). Isto pode ser feito facilmente ativando o listener firewall switch_user:
Para trocar para outro usuário, basta adicionar uma query string na URL atual com o parâmetro _switch_user com o nome do usuário como valor:
http://example.com/somewhere?_switch_user=thomas
Para voltar para o usuário original, use o nome de usuário especial _exit:
http://example.com/somewhere?_switch_user=_exit
Durante a personificação, o usuário é fornecido com um papel (role) especial chamado ROLE_PREVIOUS_ADMIN. No template, por exemplo, esse papel pode ser usado para mostrar um link para sair da personificação:
Claro, esse recurso deve ser disponibilizado a um pequeno grupo de usuários. Por padrão, o acesso é restrito a usuários que tenham o papel ROLE_ALLOWED_TO_SWITCH. O nome desse papel pode ser modificado através da configuração role. Para segurança extra, você também pode alterar o nome do parâmetro query através da configuração parameter: