GlideImpersonate : global

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • L’API GlideImpersonate permet aux administrateurs de se faire passer pour un autre utilisateur authentifié à des fins de test.

    Utilisez cette API lorsque vous devez agir en tant qu’autre utilisateur afin de tester les fonctionnalités de votre application. Lorsqu’il emprunte l’identité d’un autre utilisateur, l’administrateur a accès exactement à ce à quoi l’utilisateur dont l’identité a été empruntée aurait accès dans le système, y compris les mêmes menus et modules.
    Remarque :
    Le système enregistre tout ce que l’administrateur fait en empruntant l’identité d’un autre utilisateur comme ayant été fait par cet utilisateur.

    GlideImpersonate : canDebug(String userSysId)

    Vérifie si l’utilisateur spécifié peut effectuer un débogage sur les scripts.

    Pour qu’un utilisateur puisse déboguer des scripts, il doit se trouver sur une instance de développeur. Le débogage n’est pas autorisé sur les instances de production.

    Tableau 1. Paramètres
    Nom Type Description
    userSysId Chaîne sys_Id de l’utilisateur dont vérifier l’aptitude de débogage.
    Tableau 2. Renvoie
    Type Description
    Booléen Vrai : l’utilisateur est en mesure de déboguer l’application.

    Faux : l’utilisateur ne peut pas déboguer l’application.

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

    GlideImpersonate : canImpersonate(String userSysId)

    Vérifie si l’utilisateur actuel peut emprunter l’identité de l’utilisateur spécifié.

    Si le rôle administrateur n’est pas attribué à l’utilisateur actuel, si l’utilisateur dont emprunter l’identité est inactif ou s’il existe d’autres problèmes liés à l’emprunt d’identité de l’utilisateur spécifié, la méthode renvoie la valeur « faux » et l’emprunt de l’identité de l’utilisateur est impossible.

    Tableau 3. Paramètres
    Nom Type Description
    userSysId Chaîne sys_Id de l’utilisateur dont l’identité doit être empruntée
    Tableau 4. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’utilisateur actuel peut emprunter l’identité de l’utilisateur spécifié.
    Valeurs possibles :
    • vrai : l’utilisateur actuel peut emprunter l’identité de l’utilisateur spécifié.
    • faux : l’utilisateur actuel ne peut pas emprunter l’identité de l’utilisateur spécifié.
    function onlineImpersonate(userSysId) {
      if (!GlideImpersonate().canImpersonate(userSysId)){
        gs.addInfoMessage("No access to impersonate " + userSysId);
      } else {
        GlideImpersonate().impersonate(userSysId);
      }
      return;
    }

    GlideImpersonate : emprunter l’identité (String userSysId)

    Définit l’ID d’utilisateur de l’administrateur actuel sur l’ID d’utilisateur transmis, ce qui permet à l’administrateur d’agir en tant qu’utilisateur.

    Lorsqu’il emprunte l’identité d’un autre utilisateur, l’administrateur a accès exactement à ce à quoi l’utilisateur dont l’identité a été empruntée aurait accès dans le système, y compris les mêmes menus et modules. Utilisez uniquement cette méthode lorsque vous testez des fonctionnalités dans une application. Assurez-vous qu’une fois que vous avez terminé d’emprunter l’identité d’un utilisateur, vous appelez à nouveau la méthode avec l’administrateur sys_Id pour arrêter l’emprunt d’identité.

    Tableau 5. Paramètres
    Nom Type Description
    userSysId Chaîne Sys_id de l’utilisateur dont l’identité doit être empruntée.
    Tableau 6. Renvoie
    Type Description
    Chaîne Sys_id de l’utilisateur qui était connecté avant la demande d’emprunt d’identité.

    L’exemple suivant montre comment obtenir l’objet utilisateur actuel.

    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);
    Sortie :
    The current user display name is: System Administrator
    The impersonated user display name is: Abel Tuter

    GlideImpersonate : isImpersonating()

    Détermine si l’utilisateur actuel emprunte l’identité d’un autre utilisateur.

    Tableau 7. Paramètres
    Nom Type Description
    Aucun
    Tableau 8. Renvoie
    Type Description
    Booléen Vrai : l’utilisateur emprunte actuellement l’identité d’un autre utilisateur.

    Faux : l’utilisateur n’emprunte pas actuellement l’identité d’un autre utilisateur.

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