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