使用参数设置iFrame的src会导致X-Frame-Options' SAMEORIGINS'错误

时间:2018-04-04 16:04:20

标签: iframe reporting-services asp.net-web-api2 x-frame-options

我目前正在为我的客户端使用angularjs开发一个网站,并使用Web API 2作为我的服务器端。

首先,我尝试使用SSRSiframe报告嵌入我的网站。每当我向iframe src提供以下(示例)链接时,我都可以成功嵌入报告:

http://EXAMPLE-LINK/reports/report/Test%20Upgrade/Line%20Control?rs:embed=true

以下图片是成功加载到网站的报告(欢乐日):

SSRS report successfully embedded

其次,每当我使用相同的链接,但这次为其提供参数以填充"之间"和"和"字段我收到以下控制台错误:

Console Error

我使用的包含参数的链接详述如下:

http://EXAMPLE-LINK/reports/report/Test%20Upgrade/Line%20Control?&date1=01/03/2018&date2=04/04/2018?rs:embed=true"

最后,为什么我为iframe src提供了一个带有参数的链接,我得到了X-Frame-Options 'SAMEORIGIN'错误?理想情况下,我想为iframe src提供参数,否则我将不得不创建多个报告来实现网站功能。

在我的应用程序中,我可以做什么来忽略/删除X-Frame-Options 'SAMEORIGIN'标头响应?我是否需要在customHeader中添加一些web.config响应,或者我可以在启动网络应用时删除标题?

1 个答案:

答案 0 :(得分:1)

所以在尝试访问以下链接后: 我的浏览器网址中显示http://EXAMPLE-LINK/reports/report/Test%20Upgrade/Line%20Control?&date1=01/03/2018&date2=04/04/2018?rs:embed=true我收到了以下错误:

Reporting Services Error

所以这让我相信我试图传递给iframe的链接实际上是不正确的。

所以我修改了我的链接以遵循下面的结构,其中包括我的参数:

http://EXAMPLE-LINK/reports/report/Test%20Upgrade/Line%20Control?rs:embed=true&date1=01/03/2018&date2=04/04/2018

正如您所看到的,我在rs:embed=true报告的参数之前传递了SSRS标记并取得了成功!我现在能够在填充了iframe报告参数的SSRS中加载。

Working SSRS Report