Ajouter la fonctionalité impersonate sur un portail ServiceNow
29 sept. 2025
Cet article explique comment implémenter la fonctionnalité d'impersonalisation sur un portail ServiceNow. Pour rappel, cette fonctionnalité permet de se connecter avec le profil d'un autre utilisateur. Cette fonctionnalité est assez pratique, notamment pour tester ou dans le cadre de résolution pour reproduire des erreurs.
1 - Ajouter la fonction Impersonate dans le profile utilisateur
Client Script
2 - Afficher le bouton Impersonate dans le profil utilisateur qui va permettre d'appeler la fonction
Dans cette étape nous allons ajouter un bouton pour appeler la fonction Impersonate.
HTML
3 - Vérifier que l'utilisateur connecté a bien la permission de pouvoir s'impersonaliser
Dans le service script, nous allons déclarer une variable qui permet de savoir si l'utilisateur a le droit de s'impersonaliser.
Server Script
Une fois que c'est fait, nous allons utiliser cette variable dans le code HTML pour afficher la fonction que si l'utilisateur a le droit de s'impersonaliser.
HTML
4 - Vérifier si l'utilisateur n'est pas déjà en train d'utiliser la fonction d'Impersonate
Pour ce faire nous allons mettre à jour notre variable canImpersonate dans le server script en vérifiant cette condition.
Service Script
5 - Ajouter le bouton pour pouvoir arrêter l'impersonification
Si un utilisateur est déjà impersonifier, il voudra avoir la possibilité de pouvoir arrêter l'impersonification. Pour cela nous allons mettre ajouter une fonction dans le client script, puis mettre à jour le code HTML.
Pour ce faire, nous allons utiliser une API standard de ServiceNow :
Cette api nécessite de connaitre l'utilisateur qu'on veut impersonifier. Nous allons donc mettre à jour notre code côté en ajoutant une variable qui contient l'identifiant de l'utilisateur :
Server Script
Nous avons maintenant toutes les informations pour ajouter le fonction.
Client script
Une fois que c'est fait, il ne reste plus qu'à mettre à jour le code HTML pour afficher le bouton si l'utilisateur est impersonifié.
HTML