Вызов API ServiceNow Rest с использованием расширения Chrome

1

Как можно выполнить приведенный ниже запрос с "пользователем B" при входе в систему как "пользователь A" и без выхода из сеанса "пользователь A"?

     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" - это общая учетная запись с разрешениями для выполнения вызовов API, которой не имеет "Пользователь А".

Теги:
servicenow
google-chrome-extension

1 ответ

0

Это возможно только в том случае, если (пользователь A имеет роль администратора) или (пользователь A имеет роль подражателя && пользователь B не является администратором)

1) Если пользователь A имеет роль администратора, он может напрямую инициировать любые REST-запросы, если к целевой таблице разрешен доступ.

2) Если пользователь A имеет роль подражателя, то вы можете подражать любому сеансу пользователей, кроме пользователей-администраторов. Следующая строка скрипта может использоваться для олицетворения пользователя B в сеансе пользователя A, а затем для запуска требуемого API в качестве пользователя B

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);  

Ещё вопросы

Сообщество Overcoder
Наверх
Меню