GlideSession - Dans le champ d’application

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 4 minutes de lecture
  • L’API GlideSession , dont le champ d’application est délimité, fournit des méthodes pour trouver des informations sur la session en cours.

    Il n’existe aucun constructeur pour créer une instance d’un objet GlideSession inclus dans le champ d’application. Au lieu de cela, utilisez la méthode getSession() de l’API GlideSystem incluse dans le champ d’application.

    GlideSession inclus dans le périmètre : getClientData(String paramName)

    Récupère une valeur de client de session précédemment définie avec putClientData().

    Utilisez cette méthode pour récupérer les valeurs de données qui ont été définies à l’aide de la méthode putClientData().

    Tableau 1. Paramètres
    Nom Type Description
    paramName Chaîne Nom des données client à récupérer.
    Tableau 2. Renvoie
    Type Description
    Chaîne Données du client.
    var session = gs.getSession();
    session.putClientData('test1', 'Harry');
    var clientData = session.getClientData('test1');
    gs.info(clientData);

    Sortie :

    Harry

    GlideSession inclus dans le périmètre : getClientIP()

    Renvoie l’adresse IP du client.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Chaîne Adresse IP.
    var session = gs.getSession();
    var addr = session.getClientIP();
    gs.info(addr);

    Sortie :

    50.59.164.97

    GlideSession inclus dans le périmètre : getCurrentApplicationId()

    Renvoie l’application actuellement sélectionnée dans le sélecteur d’application.

    Cette méthode nécessite des privilèges d’administrateur.

    Tableau 5. Paramètres
    Nom Type Description
    Aucun
    Tableau 6. Renvoie
    Type Description
    Chaîne Application actuellement sélectionnée.
    var session = gs.getSession();
    var appID = session.getCurrentApplicationId();
    gs.info(appID);

    Sortie :

    ce05b9f32b840200c5244f74b4da1501

    GlideSession inclus dans le champ d’application : getCurrentDomainID()

    Renvoie la sys_id du domaine actuel pour la session utilisateur connectée.

    L’identificateur renvoyé dépend du type de domaine et de l’instanciation de ce domaine.
    • Si l’utilisateur est configuré dans le domaine global et n’utilise pas le sélecteur de domaine pour changer de domaine, la méthode renvoie null.
    • Si l’utilisateur utilise le sélecteur de domaine pour passer au domaine global, la méthode renvoie la chaîne « global ».
    • Pour tous les autres domaines, la méthode renvoie les sys_id de ce domaine.
    Tableau 7. Paramètres
    Nom Type Description
    Aucun
    Tableau 8. Renvoie
    Type Description
    Chaîne Sys_id du domaine de session de l’utilisateur actuellement connecté. Il s’agit des mêmes informations qui apparaissent dans le sélecteur de domaine.

    Cet exemple montre que le domaine de l’enregistrement de sys_email actuel est défini sur le domaine de session de l’utilisateur, si le domaine de l’utilisateur est global ou nul.

    // Set domain based on parent record's domain
    setDomain();
    
    // If the domain is global, set to user's domain
    if (current.sys_domain == 'global' || current.sys_domain.nil())
       current.sys_domain = gs.getSession().getCurrentDomainID();
    
    function setDomain() {
       if (current.target_table.nil())
          return;
    
       var d = new GlideRecord(current.target_table);
       if (!d.isValid())
          return;
    
       if (!d.get('sys_id', current.instance))
          return;
    
       if (typeof(d.sys_domain) == 'object')
          current.sys_domain = d.sys_domain;
    

    GlideSession inclus dans le champ d’application : getLanguage()

    Renvoie le code de langue de la session.

    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    Chaîne Code de langue de la session.
    var session = gs.getSession();
    var language = session.getLanguage();
    gs.info(language);

    Sortie :

    en

    GlideSession inclus dans le champ d’application : getSessionToken()

    Renvoie le jeton de session.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Chaîne Jeton de session.
    var session = gs.getSession();
    var token = session.getSessionToken();
    gs.info(token);

    Sortie :

    4284b5372b840200c5244f74b4da15f2c3476cf7fcb6572afa4ef9d5e6d307a5fd9e1da7

    GlideSession inclus dans le périmètre : getTimeZoneName()

    Renvoie le nom du fuseau horaire de la session.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun
    Tableau 14. Renvoie
    Type Description
    Chaîne Nom du fuseau horaire de la session.
    var session = gs.getSession();
    var zoneName = session.getTimeZoneName();
    gs.info(zoneName);

    Sortie :

    US/Pacific

    GlideSession inclus dans le champ d’application : getUrlOnStack()

    Renvoie l’URL sur la pile. Renvoie null si la pile est vide.

    Tableau 15. Paramètres
    Nom Type Description
    Aucun
    Tableau 16. Renvoie
    Type Description
    Chaîne URL sur la pile. Renvoie null si la pile est vide.
    var session = gs.getSession();
    var URL = session.getUrlOnStack();
    gs.info(URL);

    Sortie : des sauts de ligne ont été ajoutés pour plus de clarté.

    sys_app.do?sys_id=ce05b9f32b840200c5244f74b4da1501&sysparm_goto_url=sys_app.do
    %3Fsys_id%3Dce05b9f32b840200c5244f74b4da1501

    GlideSession inclus dans le champ d’application : isImpersonating()

    Renvoie la valeur true si l’utilisateur emprunte l’identité d’un autre utilisateur.

    Tableau 17. Paramètres
    Nom Type Description
    Aucun
    Tableau 18. Renvoie
    Type Description
    Booléen Marqueur qui indique que l’utilisateur emprunte l’identité d’un autre utilisateur.
    Valeurs possibles :
    • vrai : l’utilisateur emprunte une identité.
    • faux : l’utilisateur n’emprunte pas l’identité.
    var isImpersonator = gs.getSession().isImpersonating();
    gs.info(isImpersonator);

    GlideSession inclus dans le champ d’application : isInteractive()

    Renvoie la valeur true si la session est interactive.

    Une session interactive implique qu’un utilisateur final interagisse avec une interface utilisateur qui récupère ensuite des informations à partir d’un serveur. Un exemple de ce type de session est lorsqu’un utilisateur se connecte à l’aide de l’écran de connexion ou utilise un formulaire pour interroger un magasin de données. Une session non interactive est une session qui implique uniquement une interaction programmatique avec un serveur, telle qu’une requête SOAP pour récupérer des données.

    Tableau 19. Paramètres
    Nom Type Description
    Aucun
    Tableau 20. Renvoie
    Type Description
    Booléen Marqueur indiquant si la session est interactive.
    Valeurs possibles :
    • true : la session est interactive.
    • faux : la session n’est pas interactive.
    var interActive = gs.getSession().isInteractive();
    gs.info(interActive);

    GlideSession inclus dans le périmètre : isLoggedIn()

    Renvoie la valeur true si l’utilisateur est connecté.

    Tableau 21. Paramètres
    Nom Type Description
    Aucun
    Tableau 22. Renvoie
    Type Description
    Booléen Marqueur indiquant si l’utilisateur est connecté
    Valeurs possibles :
    • vrai : l’utilisateur est connecté.
    • false : l’utilisateur n’est pas connecté.
    var session = gs.getSession();
    var loggedIn = session.isLoggedIn();
    gs.info(loggedIn);

    Sortie :

    true

    GlideSession inclus dans le périmètre : putClientData(String paramName, String paramValue)

    Définit une valeur de client de session qui peut être récupérée avec getClientData(). Cette méthode est utilisée dans un script côté serveur qui s’exécute lorsqu’un formulaire est créé.

    Tableau 23. Paramètres
    Nom Type Description
    paramName Chaîne Nom des données client à définir.
    paramValue Chaîne Valeur des données du client.
    Tableau 24. Renvoie
    Type Description
    nul
    var session = gs.getSession();
    session.putClientData('test1', 'Harry');
    var clientData = session.getClientData('test1');
    gs.info(clientData);

    Sortie :

    Harry