带有 Windows Azure 托管网页 + IFrame + X-Frame-Options 的 Microsoft Dynamics CRM Online [英] Microsoft Dynamics CRM Online with a Windows Azure Hosted Webpage + IFrame + X-Frame-Options

查看:27
本文介绍了带有 Windows Azure 托管网页 + IFrame + X-Frame-Options 的 Microsoft Dynamics CRM Online的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to use Microsoft Dynamics CRM Online where Windows Azure hosts a custom webpage that is displayed in an IFRAME of the Microsoft Dynamics CRM web application.

我已阅读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 应用程序)

I have read http://msdn.microsoft.com/en-us/library/gg509061 (Microsoft Dynamics CRM Online with a Windows Azure Hosted Webpage) and also followed the instructions on http://social.technet.microsoft.com/wiki/contents/articles/2590.aspx (Secure Windows Azure Web Role ASP.NET Web Application Using Access Control Service v2.0)

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

I now have a Windows Azure Webpage that displays a Windows Live Id screen to log in.

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

The problem is that when I place this into an IFrame in Dynamics, I get the following:

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

This content cannot be displayed in a frame To help protect the security of information you enter into this website, the publisher of this content does not allow it to be displayed in a frame.

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

This is due to the HTTP header of "X-Frame-Options:deny" served by the Windows Live Id login preventing Internet Explorer from displaying the page in a frame. This even happens when I am already logged into Windows Live Id and the webpage tries to authenticate me.

那么这意味着如何工作,因为第一个 Microsoft 页面暗示它可以通过Microsoft Dynamics CRM Online with a Windows Azure Hosted Webpage"完成,并可选择显示在 IFRAME 中?

So how is this meant to work, as the first Microsoft page implies it can be done with "Microsoft Dynamics CRM Online with a Windows Azure Hosted Webpage" and optionally displayed in an IFRAME?

推荐答案

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

This post suggests a workaround implemented by opening the sign-in page in a new window. That can be accomplished through standard window.open(...), but if your users are going to use the Outlook client, you'll have to jump through some extra hoops since the embedded browser does not share session data with the user's default browser. (A workaround for that is to use Xrm.Utility.openWebResource(...) instead, with a custom HTML page that redirects to the intended page.)

这篇关于带有 Windows Azure 托管网页 + IFrame + X-Frame-Options 的 Microsoft Dynamics CRM Online的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆