MS CRM插件冒充错误的用户

shy*_*kov 5 c# plugins dynamics-crm-2011

我正在编写MS Dynamics CRM 2011插件,他代表系统用户对数据进行操作:以所需方式更改状态,填写管理信息等.

我正在使用以下代码OrganizationService代表以下代码运行SYSTEM:

IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = factory.CreateOrganizationService(null);
Run Code Online (Sandbox Code Playgroud)

在开发环境中,一切运行顺利,但是当我在临时环境中部署程序集时,由于某种原因,此代码不再起作用.系统选择了一个用户,让我们打电话给他John Doe并代表他运行动作.

我无法理解为什么会发生这种情况:两种环境或多或少相同,唯一的区别是用于分期的IFD.

是否可以SYSTEM在MS CRM中的某个位置禁用用户?如果是,我可以在哪里找到此设置?还有什么我应该检查来解决这个问题?

小智 3

创建 IOrganizationService 对象的方式是正确的

CreateOrganizationService 函数上的参数“null”表示将为 SYSTEM 帐户创建服务。检索和创建将由系统帐户完成。无需进一步模仿。

有关详细信息,请参阅MSDN

插件在两个环境中的注册方式是否相同?在 PluginRegistrationTool 中,可以选择运行插件的不同用户。你在那里选择了什么?

您不能禁用系统用户,该用户默认被禁用。系统进程将使用该帐户。