|
12.02.2019, 09:04 | #1 |
Moderator
|
Я наблюдал похожее, когда службы CRM (в частности, application pool) были запущены под учетными записями пользователей. Вы точно ничего не запустили под Натальей Вороновой?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
12.02.2019, 09:44 | #2 |
Участник
|
Цитата:
Кроме того я проверял на 2 системах вообще в двух разных компаниях. Даже способ развертывания и версии CRM отличаются. Картина одинаковая - все что делает сервис в плагине делается от имени SYSTEM. Может кто-то у себя сможет проверить, код плагина в посте выше... Сравним результаты... |
|
12.02.2019, 11:07 | #3 |
Участник
|
Попробуйте вот так, без WhoAmIRequest
X++: result += string.Format("Caller User Id = {0}",((OrganizationServiceProxy)factory.CreateOrganizationService(context.UserId)).CallerId); result += string.Format("User System Id = {0}", ((OrganizationServiceProxy)factory.CreateOrganizationService(null)).CallerId);
__________________
Читайте SDK!!! |
|
12.02.2019, 15:50 | #4 |
Участник
|
У меня задача не ID верные получить, а убедиться, что имперсонализация в сервисе работает и сервис выполняет действия от имени указанных пользователей. А он почему то этого не делает.
|
|
12.02.2019, 16:22 | #5 |
Участник
|
Цитата:
Использовать из плагина WhoAmIRequest нет смысле, он всегда вернет SYSTEM СРМ же работает на основании CallerId поэтому я и хотел что бы ва проверили Я такой трик с SYSTEM использую очень часто и все работает в соответствии с правами эзера, систем видит все, остальные юзеры только то что положено
__________________
Читайте SDK!!! |
|
12.02.2019, 17:12 | #6 |
Участник
|
CallerId я проверил - он совпадает с ID пользователя (в случае null - нулевой GUID, в случае с Empty - равен UserId).
То есть вы проверяли и импенсонализация все таки работает и на запросы накладываются все ограничения в соответствии с ролями пользователей, даже не смотря на то, что везде (даже в createdby, modifiedby) фигурирует SYSTEM? |
|