Impersonar um usuário e retornar ao usuário administrador

:bookmark: Este guia explica como se passar por um usuário no Discourse e retornar à sua conta de administrador. Isso é útil quando você precisa solucionar problemas enfrentados por um usuário específico ou verificar suas permissões.

:person_raising_hand: Nível de usuário necessário: Administrador

O administrador pode optar por se passar por outro usuário quando necessário. Isso pode ser útil quando um membro está apresentando um comportamento estranho ou você precisa verificar suas permissões. Assumir a identidade de outro usuário age como se você estivesse logado como esse usuário. Esta documentação o guiará pelo processo de se passar por um usuário como administrador e como retornar à conta de administrador.

Assumindo a Identidade de um Usuário

  1. Navegue até a seção Admin na barra lateral e selecione Users (Usuários).

  2. Encontre e selecione o perfil do usuário que você deseja emular.

  3. Clique em Admin no canto superior direito.

  4. Na parte inferior, selecione o botão Impersonate (Assumir Identidade)
    image

Uma vez que você assumiu a identidade do usuário, você não está mais logado como administrador. Você experimentará a interface do Discourse exatamente como o usuário a vê.

![image|690x115,80%](upload://pJ5E4DFrbcZBdwNzCcJzVtCDLVd.png)

:warning: Assumir a identidade de um usuário não é transparente — cria uma visita registrada para esse usuário e redefine quaisquer sinalizadores de notificação acionados. Considere comunicar ao usuário que a emulação de identidade foi realizada.

Terminando a sessão de emulação de identidade

Método 1, bom para uso infrequente:

Para parar de emular a identidade e retornar à sua conta de administrador, basta sair da conta do usuário emulado e fazer login novamente como administrador.

:information_source: Fazer login e emular a identidade em uma janela privada/anônima evita a necessidade de fazer login novamente na sua sessão de navegador principal. Basta fechar a janela anônima e pronto!

Método 2, recomendado se você emula identidades com frequência

A configuração impersonate_without_logout, quando ativada, exibe um banner persistente na parte superior da interface enquanto você está emulando a identidade de um usuário, com um botão para encerrar a sessão imediatamente e retornar à sua conta de administrador.

example banner

Isso torna os fluxos de trabalho de emulação de identidade repetidos mais seguros e eficientes, especialmente para suporte e QA.

Além disso, a configuração oculta do site experimental_impersonation_time_limit_minutes pode ser usada para definir uma duração máxima para uma sessão de emulação de identidade (padrão: 15 minutos). Assim que esse limite de tempo for atingido, a sessão é encerrada automaticamente, adicionando uma camada extra de segurança.

Habilitando impersonate_without_logout

A maneira recomendada de habilitar este recurso é através de Admin → Upcoming Changes (Próximas Alterações) (/admin/config/upcoming-changes), onde pode ser ativado para toda a equipe ou grupos específicos.

Para sites auto-hospedados (self-hosted), ele também pode ser ativado via console Rails:

SiteSetting.impersonate_without_logout = true
SiteSetting.experimental_impersonation_time_limit_minutes = 15
40 curtidas

Pode valer a pena notar que se passar por um usuário não é transparente – cria uma visita registrada para esse usuário e redefine quaisquer sinalizadores de notificação que sejam acionados. Provavelmente, é melhor comunicar a qualquer usuário real que isso está sendo feito.

4 curtidas

Também me deparei com esse problema. Podemos pelo menos adicionar uma caixa de diálogo de confirmação no botão “Impersonate”? Atualmente, ele inicia a impersonação imediatamente sem alertar o usuário sobre as ressalvas, especialmente sobre a criação de uma visita registrada.

Os outros botões em sua vizinhança (como “Delete user”) têm uma caixa de diálogo de confirmação. Como usuário, eu esperaria que o botão “Impersonate” abrisse uma caixa de diálogo, assim como os outros.

image

6 curtidas

Eu nem notei a falta de uma caixa de diálogo de confirmação, mas sim, esse seria um bom lugar para avisar que você está prestes a se tornar aquele usuário e deixar rastros — não apenas bisbilhotar nos bastidores sem impacto.

5 curtidas

Acho que você pode ativar a configuração em /admin/config/upcoming-changes agora.

2 curtidas