我们之前创建的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);