如何使用Web应用程序代理(WAP)发布SQL Reporting Services(SSRS)?

时间:2016-08-11 02:35:58

标签: reporting-services reverse-proxy adfs adfs3.0

我正在尝试发布 SSRS 2016 Web服务&通过Win 2012 R2上的 Web应用程序代理 AD FS 进行Web门户。

为了能够通过URL和WAP访问报告,我需要在SSRS端配置什么配置?

有没有人找到分步指南?我一直在谷歌上搜索没有运气。

谢谢,

1 个答案:

答案 0 :(得分:0)

我不确定是否需要任何特殊的SSRS配置,但以下是通过WAP发布SSRS Web门户的步骤。

我们遇到的一个问题是,在请求报告时,报告路径正在从查询字符串中删除。解决方案是编码URL的报告路径部分。

  1. 在ADFS中创建标准信赖方信任,不设置任何声明且端点和标识符设置为https://example.com/ReportServer/

  2. 使用ADFS预身份验证在WAP中发布端点,并将外部和内部URL设置为https://example.com/ReportServer/

  3. 使用以下网址访问报告https://example.com/ReportServer/Pages/ReportViewer.aspx/?%2fHR-Reports%2fQ1-Report&rs:Command=Render

  4. 更新

    不幸的是,情况似乎并非如此。 WAP中似乎存在与截断报告路径相关的错误。如果您已使用ADFS进行身份验证,然后访问报告(例如https://example.com/ReportServer/Pages/ReportViewer.aspx?/HR-Reports/Q1-Report&rs:Command=Render),则会重定向到ADFS,因为尚未为报告服务提供者(SP)设置authn令牌作为“EdgeAccessCookie”cookie。

    报告SP(通常是WAP)会将您重定向到ADFS,以获取带有您的查询字符串中的返回URL的令牌。您已经对ADFS进行了身份验证,因此您获得了SP的令牌并重定向回SP,但问题是SP的查询字符串中不再出现报告路径网址(https://example.com/ReportServer/Pages/ReportViewer.aspx/?rs:Command=Render&authToken=xyz)。这会导致报表服务器出错。

    如果您再次访问原始网址(https://example.com/ReportServer/Pages/ReportViewer.aspx?/HR-Reports/Q1-Report&rs:Command=Render),则您已拥有SP的authn令牌,并且您的浏览器会将其作为EdgeAccessCookie Cookie呈现给您的SP。在这种情况下,您不会重定向到ADFS,并且您可以按预期访问报表。当然,这不太理想,但必须第二次访问您的报告。