2017-02-28 60 views
0

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

+0

您是否发现此帖:http://stackoverflow.com/questions/32669581/showing-dynamics-crm-2015-out-of-box-views- on-html-pages-hosted-outside-the-crm –

+0

我目前不在CRM 2016实例中,但预计修改x-frame-options应该可行。你的响应头里有什么x-frame-options(在chrome的网络标签下查看) – Malachy

+0

Hi @Malachy ... Dynamics CRM支持三种标准的x-frame选项,即Deny,Same Origin,并允许from.It默认它被设置为Same Origin。当我改变xframe选项以允许来自网站的起源(即需要构建网站的网站)时,应用程序中的页面(即Microsoft动态CRM中的框外框架)开始引发错误。我无法找到一种方法可以设置X框架选项以允许多个来源?(即同一起源和允许)。任何想法? –

回答

0

我很确定这是CRM的安全功能。 CRM进入另一个网站后会打开XFS

0

它看起来像X-Frame-Options无法授权多个域,而采取的方法是使用Content-Security-Policy头。 这个线程讨论同一类型的问题下面X-Frame-Options Allow-From multiple domains

环节都对如何使用内容安全,策略标题信息: https://content-security-policy.com/
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

下面这web.config中的这段看起来像它的工作原理对我来说(我在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窗口和CRMSERVER内嵌框架是CRMSERVER DNS名称

编辑:它看起来像内容安全策略仅支持Chrome和Firefox的时刻。 IE不支持访问控制 - 允许来源