GlideImpersonate - Global

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 min. de leitura
  • A API GlideImpersonate permite que os administradores se passem por outro usuário autenticado para fins de teste.

    Use esta API quando precisar atuar como outro usuário para testar a funcionalidade em sua aplicação. Ao representar outro usuário, o administrador tem acesso exatamente ao que o usuário representado teria acesso no sistema, incluindo os mesmos menus e módulos.
    Nota:
    O sistema registra tudo o que o administrador faz ao representar outro usuário como tendo sido feito por esse usuário.

    GlideImpersonate – canDebug(cadeia de caracteres userSysId)

    Verifica se o usuário especificado pode executar a depuração em scripts.

    Para que um usuário possa depurar scripts, ele deve estar em uma instância de desenvolvedor. A depuração não é permitida em instâncias de produção.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    userSysId Cadeia de caracteres sys_Id do usuário para verificar a capacidade de depuração.
    Tabela 2. Retorna
    Tipo Descrição
    Booliano Verdadeiro: o usuário é capaz de depurar a aplicação.

    Falso: o usuário não pode depurar a aplicação.

    userDebug: function(userId) {
      var impUser = new GlideImpersonate();
      impUser.canDebug(userId);
     }

    GlideImpersonate - canImpersonate(cadeia de caracteres userSysId)

    Verifica se o usuário atual pode representar o usuário especificado.

    Se o usuário atual não estiver atribuído à função de administrador, o usuário a representar estiver inativo ou se houver outros problemas com a representação do usuário especificado, o método retornará "falso" e o usuário não poderá ser representado.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    userSysId Cadeia de caracteres sys_Id do usuário para representar
    Tabela 4. Retorna
    Tipo Descrição
    Booliano Sinalizador que indica se o usuário atual pode representar o usuário especificado.
    Valores possíveis:
    • verdadeiro: o usuário atual pode representar o usuário especificado.
    • falso: o usuário atual não pode representar o usuário especificado.
    function onlineImpersonate(userSysId) {
      if (!GlideImpersonate().canImpersonate(userSysId)){
        gs.addInfoMessage("No access to impersonate " + userSysId);
      } else {
        GlideImpersonate().impersonate(userSysId);
      }
      return;
    }

    GlideImpersonate - representar (cadeia de caracteres userSysId)

    Define o ID de usuário do administrador atual como o ID de usuário passado, permitindo que o administrador atue como esse usuário.

    Ao representar outro usuário, o administrador tem acesso exatamente ao que o usuário representado teria acesso no sistema, incluindo os mesmos menus e módulos. Use este método somente ao testar a funcionalidade em uma aplicação. Quando terminar de representar um usuário, certifique-se de chamar o método novamente com o administrador sys_Id para interromper a representação.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    userSysId Cadeia de caracteres Sys_id do usuário a representar.
    Tabela 6. Retorna
    Tipo Descrição
    Cadeia de caracteres Sys_id do usuário que fez login antes da solicitação de representação.

    O exemplo a seguir mostra como obter o objeto de usuário atual.

    var user = gs.getUserDisplayName();
    gs.print ("The current user display name is: " + user);
    
    var impUser = new GlideImpersonate();
    impUser.impersonate("62826bf03710200044e0bfc8bcbe5df1");
    var user = gs.getUserDisplayName();
    gs.print ("The impersonated user display name is: " + user);
    Saída:
    The current user display name is: System Administrator
    The impersonated user display name is: Abel Tuter

    GlideImpersonate - isImpersonating()

    Determina se o usuário atual está representando outro usuário.

    Tabela 7. Parâmetros
    Nome Tipo Descrição
    Nenhum
    Tabela 8. Retorna
    Tipo Descrição
    Booliano Verdadeiro: o usuário está representando outro usuário.

    Falso: o usuário não está representando outro usuário no momento.

    function abortOnImpersonate() {
        if (GlideImpersonate().isImpersonating()){
      current.setAbortAction(true);
      gs.addInfoMessage("Transaction canceled due to Impersonation");
        }
        return;
    }