logo

Выполнение сценария от определенного пользователя

В ELMA 3.0 сценарии запускаются и выполняются от имени пользователя из той зоны ответственности, где находилась предыдущая выполненная операция процесса. Начиная с версии системы 3.0.6, по умолчанию все сценарии выполняются от имени ответственного за экземпляр процесса, при этом появилась возможность выполнять сценарий от имени определенного пользователя. Для того, чтобы выбрать пользователя, нужно использовать метод RunByUser.

Пример сценария с использованием PublicAPI

Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA с 3.8 включительно до 3.12.1 включительно.
var user = PublicAPI.Portal.Security.User.LoadByLogin("admin"); 
PublicAPI.Services.Security.RunByUser(user, () =>
{
    //код; 
});

Пример сценария без использования PublicAPI

Для работы сценария необходимо подключить пространства имен:
using EleWise.ELMA.Security;
using EleWise.ELMA.Services;
Текст сценария:
var securityService = Locator.GetService<ISecurityService>();
securityService.RunByUser(user, () => {
 //код; 
});
Код, который написан в скобках, будет выполняться от имени указанного пользователя user.