Как можно выполнить приведенный ниже запрос с "пользователем 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, которой не имеет "Пользователь А".
Это возможно только в том случае, если (пользователь 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);