Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github

Como Personificar um usuário

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