【问题标题】:ServiceNow Rest API Call Using Chrome Extension使用 Chrome 扩展的 ServiceNow Rest API 调用
【发布时间】:2019-01-10 11:08:44
【问题描述】:

如何在以“用户 A”身份登录且不退出“用户 A”会话的情况下使用“用户 B”执行以下查询?

     var settings = {
    "async": true,
    "crossDomain": true,
    "url": "www.url.com",
    "method": "GET",
    "headers": {
    "authorization": "Basic [BASE64]",
    "cache-control": "no-cache",
        }

在使用用户 A 登录时,我执行此查询并立即使用用户 B 登录,并且我的会话被用户 B 覆盖。我在使用 Chrome 扩展程序时尝试这样做。

“用户 B”帐户是具有执行“用户 A”没有的 API 调用权限的通用帐户。

【问题讨论】:

    标签: javascript google-chrome-extension servicenow servicenow-rest-api


    【解决方案1】:

    这只是可能的 if (用户 A 具有管理员角色) 或 (用户 A 具有模仿者角色 && 用户 B 不是管理员)

    1) 如果用户 A 具有管理员角色,那么只要允许目标表访问,他们就可以直接触发任何 REST 查询。

    2) 如果用户 A 具有模拟角色,那么您可以模拟除管理员用户之外的任何用户会话。以下脚本行可用于在用户 A 的会话中模拟用户 B,然后作为用户 B 触发所需的 API

    var originalUserID = gs.getUserID();
    
    //Replace SYS_ID_USER_B with the sys_id of user B from the profile
    gs.getSession().impersonate('SYS_ID_USER_B'); 
    
    //Trigger REST API as USER B -- START
    
    
    //Trigger REST API as USER B -- END
    
    //Impersonate back to the original user
    gs.getSession().impersonate(originalUserID);  

    【讨论】:

      猜你喜欢
      • 2016-09-02
      • 2021-07-15
      • 1970-01-01
      • 2016-06-12
      • 2014-05-21
      • 2023-03-20
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      相关资源
      最近更新 更多