【问题标题】:MS CRM plugin impersonates as a wrong userMS CRM 插件冒充错误用户
【发布时间】:2013-11-04 14:26:12
【问题描述】:

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

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

IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = factory.CreateOrganizationService(null);

在开发环境中一切运行顺利,但是当我在暂存环境中部署程序集时,由于某种原因,此代码不再工作。系统选择了一位用户,我们称他为John Doe 并代表他执行操作。

我不明白为什么会发生这种情况:两个环境或多或少是相同的,唯一的区别是在登台时使用的 IFD。

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

【问题讨论】:

  • SYSTEMINTEGRATION 用户始终被 CRM 禁用,但模拟应该仍然有效。如果您显示未经过滤的用户视图,SYSTEMINTEGRATION 是否都会显示?

标签: c# plugins dynamics-crm-2011


【解决方案1】:

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

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

欲了解更多信息,请参阅MSDN

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    相关资源
    最近更新 更多