带有Windows Azure托管网页的Microsoft Dynamics CRM Online + IFrame + X-Frame-Options

Mon*_*ode 5 iframe access-control azure x-frame-options dynamics-crm-2011

我正在尝试使用Microsoft Dynamics CRM Online,其中Windows Azure承载显示在Microsoft Dynamics CRM Web应用程序的IFRAME中的自定义网页.

我已阅读http://msdn.microsoft.com/en-us/library/gg509061(带有Windows Azure托管网页的Microsoft Dynamics CRM Online),并且还按照http://social.technet.microsoft.com/上的说明进行操作.wiki/contents/articles/2590.aspx(使用Access Control Service v2.0保护Windows Azure Web角色ASP.NET Web应用程序)

我现在有一个Windows Azure网页,显示要登录的Windows Live Id屏幕.

问题是当我将它放入Dynamics中的IFrame时,我得到以下内容:

此内容无法在框架中显示为了帮助保护您在本网站中输入的信息的安全性,此内容的发布者不允许在框架中显示该内容.

这是由于Windows Live Id登录服务的"X-Frame-Options:deny"的HTTP标头导致Internet Explorer无法在框架中显示页面.当我已经登录到Windows Live Id并且网页尝试验证我时,甚至会发生这种情况.

那么这是如何工作的,因为第一个微软页面暗示它可以通过"带有Windows Azure托管网页的Microsoft Dynamics CRM Online"完成,并可选择显示在IFRAME中?

And*_*tad 0

这篇文章建议了一种通过在新窗口中打开登录页面来实现的解决方法。这可以通过标准来完成window.open(...),但如果您的用户要使用 Outlook 客户端,您将不得不跳过一些额外的麻烦,因为嵌入式浏览器不与用户的默认浏览器共享会话数据。(解决方法是使用Xrm.Utility.openWebResource(...)重定向到目标页面的自定义 HTML 页面。)