我正在尝试发布 SSRS 2016 Web服务&通过Win 2012 R2上的 Web应用程序代理和 AD FS 进行Web门户。
为了能够通过URL和WAP访问报告,我需要在SSRS端配置什么配置?
有没有人找到分步指南?我一直在谷歌上搜索没有运气。
谢谢,
答案 0 :(得分:0)
我不确定是否需要任何特殊的SSRS配置,但以下是通过WAP发布SSRS Web门户的步骤。
我们遇到的一个问题是,在请求报告时,报告路径正在从查询字符串中删除。解决方案是编码URL的报告路径部分。
在ADFS中创建标准信赖方信任,不设置任何声明且端点和标识符设置为https://example.com/ReportServer/
。
使用ADFS预身份验证在WAP中发布端点,并将外部和内部URL设置为https://example.com/ReportServer/
。
使用以下网址访问报告https://example.com/ReportServer/Pages/ReportViewer.aspx/?%2fHR-Reports%2fQ1-Report&rs:Command=Render
更新:
不幸的是,情况似乎并非如此。 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,并且您可以按预期访问报表。当然,这不太理想,但必须第二次访问您的报告。