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

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

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

创建一个dynamics 365 CRM online plugin (七) - plugin当中的Impersonation角色_第1张图片

 

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

 创建一个dynamics 365 CRM online plugin (七) - plugin当中的Impersonation角色_第2张图片

 

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

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

创建一个dynamics 365 CRM online plugin (七) - plugin当中的Impersonation角色_第3张图片

 

 

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

 

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

 

创建一个dynamics 365 CRM online plugin (七) - plugin当中的Impersonation角色_第4张图片

 

首先我们要先知道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 (七) - plugin当中的Impersonation角色_第5张图片

 

你可能感兴趣的:(创建一个dynamics 365 CRM online plugin (七) - plugin当中的Impersonation角色)