我们有一个 ASP.NET MVC 应用程序,并且我们已经在其中使用 SSRS 报告。这些 SSRS 报告使用
ReportViewer
控件显示给最终用户。
我们刚刚开始使用 PowerBI 报告。这些报告使用 PowerBI 服务器部署。
我们可以在
ReportViewer
控件中显示来自 PowerBI 报表服务器的 PowerBI 报表(和仪表板)吗?如果是 - 怎么办?
请注意,我们不想显示来自 Power BI 服务的报告(因此 Azure 托管解决方案不适用)。相反,我们需要从 PowerBI 报表服务器显示它们。
我们还尝试使用 iframe,但在 iframe 中打开报表时它会要求提供凭据,而我们不想向最终用户显示该凭据。
所以有以下问题: 1:reportviewer控件支持PowerBI报表吗? 2:如果没有,是否有其他方法可以从 MVC 应用程序显示 PowerBI 报告(使用本地 Power BI 服务器)? 3:如果我们必须使用 iframe,那么有什么方法可以将凭据悄悄地传递给 iframe 中的 src 标记,而不是向用户询问?
回答我自己的问题。
我们与 Microsoft 团队进行了讨论,截至 2023 年 7 月的今天,他们没有任何此类控制权,我们可以在其中将独立服务器中的 Power BI 报告显示到 MVC 应用程序中。
因此,我们剩下的唯一选择(使用独立的 Power BI 服务器)就是在 iframe 中显示报表。但是,第一次打开页面时,它会要求提供凭据。
当您在 asp.net mvc 页面上托管的 iframe 中打开报表时,首次打开时不需要进行客户端身份验证。 默认情况下,PBIRS 使用 NTLM 方案对客户端进行身份验证。并且会自动应用 Active Directory 中的数据,无需客户端输入凭据。