在iFrame

时间:2017-02-28 12:34:02

标签: dynamics-crm microsoft-dynamics dynamics-crm-2016

有没有办法在HTML iFrame中显示Microsoft Dynamics CRM 2016页面?我试图在安装Web配置中添加X-frame选项,但它没有帮助。

2 个答案:

答案 0 :(得分:0)

我很确定这是CRM的安全功能。将CRM iframed到另一个站点会打开XFS

答案 1 :(得分:0)

看起来X-Frame-Options无法授权多个域,而采用的方法是使用Content-Security-Policy标头。 该主题讨论了相同类型的问题X-Frame-Options Allow-From multiple domains

以下链接提供了有关如何使用Content-Security-Policy标头的信息: https://content-security-policy.com/
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

下面这个web.config snippit看起来对我有用(我在CRM 2013 Box上试过这个)。

  <httpProtocol>
    <customHeaders>
      <!-- seems to work correctly and override X-Frame-Options -->
      <add name="Access-Control-Allow-Origin" value="http://localhost" />
      <add name="Content-Security-Policy" value="frame-ancestors 'self' localhost crmserver; script-src 'unsafe-eval' 'unsafe-inline' 'self' localhost crmserver;" />
    </customHeaders>
  </httpProtocol>

localhost是托管CRM窗口的iFrame,crmserver是crmserver dns名称

编辑:目前看来Content-Security-Policy仅支持Chrome和Firefox。 IE不支持Access-Control-Allow-Origin