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

Posted themiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建一个dynamics 365 CRM online plugin - plugin当中的Impersonation角色相关的知识,希望对你有一定的参考价值。

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

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

技术图片

 

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

 技术图片

 

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

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

技术图片

 

 

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

 

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

 

技术图片

 

首先我们要先知道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角色的主要内容,如果未能解决你的问题,请参考以下文章

创建一个dynamics 365 CRM online plugin - Images in Plugin

如何通过 Dynamics 365 CRM 中的 C# 插件填充查找字段

创建一个dynamics 365 CRM online plugin - Asynchronous Plugins

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

创建一个dynamics 365 CRM online plugin - Isolation mode or trust mode

创建一个dynamics 365 CRM online plugin - 使用Shared Variables 在plugins 之前传递data