创建一个dynamics 365 CRM online plugin (七) - plugin当中的Impersonation角色

我们之前创建的plugin都是使用default的 run in User's Context.

理解就是使用正在登陆的security context用户信息

创建dynamics 365 CRM online plugin

 

那有个问题,如果当前用户的security role没有相应的权限访问功能,我们就要安排一个新的用户 e.g. admin来记录信息而非当前用户.

 创建dynamics 365 CRM online plugin

 

让我们在registration tool更新TaskCreate class之后再CRM中打开新建Contacts.

我们可以打开activities发现follow up 里用户更改为在plugin registration tool中更改的用户.

创建dynamics 365 CRM online plugin

 

 

第二种方法,我们可以做impersonation 的地方是plugin 的代码当中

 

首先我们把run in user's context 改为Calling User

 

创建dynamics 365 CRM online plugin

 

首先我们要先知道admin的GUID,知道GUID之后我们才可以创建一个新的OrganizationService. 

            // This is for the impersonation
            IOrganizationService adminService = serviceFactory.CreateOrganizationService(new Guid());

 

其次, 我们用创建好的adminService在try中做创建task.

// Inpersonation in Plugins
adminService.Create(taskRecord);

 

创建dynamics 365 CRM online plugin

 

posted @ 2019-04-23 20:13  TheMiao  阅读(668)  评论(1编辑  收藏  举报