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

时间:2012-08-22 21:09:23

标签: iframe azure dynamics-crm-2011 access-control x-frame-options

我正在尝试使用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上的说明进行操作(使用访问控制服务v2的安全Windows Azure Web角色ASP.NET Web应用程序0.0)

我现在有一个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中?

1 个答案:

答案 0 :(得分:0)

This post建议通过在新窗口中打开登录页面来实施解决方法。这可以通过标准window.open(...)来完成,但是如果您的用户打算使用Outlook客户端,那么由于嵌入式浏览器不与用户共享会话数据,您必须跳过一些额外的环节。 ; s默认浏览器。 (解决方法是使用Xrm.Utility.openWebResource(...)代替,使用自定义HTML页面重定向到目标页面。)