Цитата:
Сообщение от
2rik
Господа, подскажите пожалуйста
Столкнулся с такой проблемой.
Есть объект звонок, при его сохранении создается объект кастомной сущности, прав на чтение и создание которой у данного пользователя не должно быть.
Можно ли заставить плагин работать из под админа?
В Plugin Registration Tool - выбираю в поле Run in User Context админа, но все равно не срабатывает, выдает ошибку.
Подскажите, как можно это обойти ?
Заранее благодарен
Пробовал поступить через
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
string t = "73E3BB87-55B3-E011-9B86-00155D053B37"; - айдишник админа
Guid CallUserId=Guid.Parse(t);
_serviceProxy.CallerId = CallUserId;
_service = serviceFactory.CreateOrganizationService(context.UserId); //(context.UserId);
orgContext = new OrganizationServiceContext(_service);
ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
Но плагин не отрабатывает вообще. object reference not set to an instance of an object
Где в коде определяется переменная _
serviceProxy? Зачем создается CallUserId, если OrganizationService вы создаете при помощи context.UserId?
Guid можно создавать через конструкцию
Код:
Guid CallUserId = new Guid("73E3BB87-55B3-E011-9B86-00155D053B37");
Я думаю, вам просто нужно прочить в SDK как правильно отлаживать плагины. Выбор контекста администратора при регистрации плагина должен работать как надо. Ошибка в где-то в вашем коде.