SQL Server Reporting Services - 无法通过与SSRS服务器相同的计算机上的URL进行身份验证

时间:2016-11-21 13:41:21

标签: reporting-services

我通过URL访问SSRS报告(SQL Server 2016),将它们嵌入iFrame中的应用程序中。当我远程访问SSRS报告时,即从不同的计算机上我可以验证并显示报告。

在我的iFrame来源中,我把:

http://example.com:4000/path_to_ReportServer/report_name

当我将我的应用程序部署到舞台服务器时,这很好用。所有SSRS报告都没有任何问题。

然而,我在我的SSRS报告服务器所在的同一台PC上开发,当我在它上面时,我必须将iFrame中的所有链接更改为:

http://computername:4000/path_to_ReportServer/report_name

编辑:最初我在这里写的是我使用localhost,但实际上我的意思是计算机名称。

如果我尝试在我的开发计算机上从VS运行我的应用程序并且我不将域名更改为计算机名称,则根本无法进行身份验证。它只是一遍又一遍地问我相同的凭证。

我已经检查过ReportServerService日志,当我尝试登录时,我将此视为最后一行:

library!DefaultDomain!3bd0!11/21/2016-12:52:36:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: Invalid PBI Configuration, Microsoft.ReportingServices.Diagnostics.Utilities.ServerConfigurationErrorException: The report server has encountered a configuration error. ;

我广泛地查找了这个问题,我只找到了MS配置教程,但没有人遇到类似的问题。

我检查过通常的罪魁祸首,比如防火墙或端口冲突(但是如果我有任何其他的,我将无法从任何其他PC访问SSRS,但我可以,并且该链接不能仅在本地机器上工作。)

我对SSRS一般都很陌生,所以请耐心等待我。谢谢!

2 个答案:

答案 0 :(得分:0)

您可以尝试一些事项:

  1. 在SSRS配置中,确保报告服务和报告管理端点有效(复制超链接中的URL并确保它在本地主机上打开。)

  2. 在SSRS配置中,确保已正确部署报告服务数据库。

  3. 从ssrs web config(自定义安全性)中删除已应用于默认行为的所有自定义模块/程序集。

  4. 我认为你已经对ssrs的web配置应用了更改,以便为自定义安全性,自定义数据集/数据集,自定义渲染格式加载程序集,并以某种方式指定配置。

答案 1 :(得分:0)

您可能遇到same-origin-policy错误,维基百科称其为under the policy, a web browser permits scripts contained in a first web page to access data in a second web page, but only if both web pages have the same origin.

修复是实现X-Frame-Options元标记,如下所示:

X-Frame-Options: ALLOW-FROM https://example.com/