【问题标题】:Dynamics CRM Plugin: Calling WebClient with certificate in sandbox modeDynamics CRM 插件:在沙盒模式下使用证书调用 WebClient
【发布时间】:2018-01-05 10:25:24
【问题描述】:

我正在尝试创建一个使用客户端证书调用外部 Web 服务的 CRM 工作流插件。我可以将证书加载到内存中(基本上是硬编码)并将其分配给 WebClient,但由于它在沙盒模式下运行,因此我不允许使用 WebClient 中的证书实际执行调用(抛出 SecurityPermission 异常)。

我明白为什么我无法从沙盒外部以沙盒模式加载证书,但是如果我已经拥有该证书,那么我不允许使用该证书调用 Web 服务的原因是什么?这在理论上是否可行,还是我必须找到其他方法(例如代理或在沙箱外运行)?谢谢。

【问题讨论】:

    标签: c# plugins certificate dynamics-crm


    【解决方案1】:

    如果您还没有禁用沙盒模式 - 确认沙盒模式是罪魁祸首。

    如果是这种情况,您无能为力(除了您建议的使用替代方法;代理,在沙盒之外)。

    存在沙盒模式,以便多个 CRM 组织可以在单个环境(即 CRM Online)中运行而不会相互干扰,例如访问另一个用户数据库。

    MSDN 描述了沙盒模式,但遗憾的是它并没有详尽地说明限制的内容。

    Plug-in isolation, trusts, and statistics

    在这种隔离环境中,也称为沙盒、插件或 自定义活动可以利用 Microsoft 的全部功能 用于访问组织 Web 服务的 Dynamics 365 SDK。 访问 文件系统、系统事件日志、某些网络协议、注册表、 在沙盒中阻止了更多。

    ...

    网络访问

    沙盒插件和自定义工作流活动可以访问 网络通过 HTTP 和 HTTPS 协议。这种能力提供 支持访问流行的网络资源,如社交网站、新闻 提要、Web 服务等。以下网络访问限制 应用于此沙盒功能。

    • 只允许使用 HTTP 和 HTTPS 协议。
    • 不允许访问本地主机(环回)。
    • 无法使用 IP 地址。您必须使用需要 DNS 名称解析的命名网址。
    • 支持并建议使用匿名身份验证。 没有提供提示登录用户输入凭据或 保存这些凭据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 1970-01-01
      相关资源
      最近更新 更多