【问题标题】:Microsoft Dynamics CRM Online with a Windows Azure Hosted Webpage + IFrame + X-Frame-Options带有 Windows Azure 托管网页 + IFrame + X-Frame-Options 的 Microsoft Dynamics CRM Online
【发布时间】:2012-08-18 08:50:28
【问题描述】:

我正在尝试使用 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.0 的安全 Windows Azure Web 角色 ASP.NET Web 应用程序)上的说明

我现在有一个 Windows Azure 网页,其中显示了一个 Windows Live Id 屏幕以供登录。

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

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

这是由于 Windows Live Id 登录服务的 HTTP 标头“X-Frame-Options:deny”阻止 Internet Explorer 在框架中显示页面。当我已经登录 Windows Live Id 并且网页尝试对我进行身份验证时,甚至会发生这种情况。

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

【问题讨论】:

  • 我可能有点离题,但我想知道您是否需要在您用来规避此问题的网站上使用 Windows Azure 访问控制服务来实现基于联合声明的身份,基本上是拥有您的网站通过 ACS 充当 Live Id 身份提供者的依赖方。当用户在 IFRAME 中搜索您的网页时,他们会被重定向到 Live ID、登录、基于声明的令牌被传回,动态在线是否接受?请注意,这可能有点矫枉过正,只是一个想法。我还没有测试过,相信有一个更简单的解决方案提醒你:)
  • 你让它工作了吗?
  • @Stefan - 不,我没搞定。

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-06-05
    • 1970-01-01
    • 2016-05-14
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    相关资源
    最近更新 更多