我们的团队创建了一个ASP网站,该网站使用reportviewer控件从报表服务器呈现报表。
在主报告中,我们使用Go to URL在新窗口中显示子报告(弹出窗口)。我在IIS服务器上托管了这个网站。
当我们尝试访问主报告(即Home.aspx)时,我们从报告服务器获取主报告的内容,而不是要求我提供凭据。
但是当我们点击子报告的链接时。它要求弹出窗口的凭据。我没有明白为什么它只是要求凭据弹出而不是主要报告。如果我的SSRS配置不正确,那么它也应该询问主报告的凭据,但它只会弹出提示。
我们正在使用SSRS 2008.SSRS和IIS都在同一台机器上。我们使用了javascript函数来转到URL表达式。
以下是两个场景的截图。
主报告 - 链接到在新弹出窗口中打开的子报告(此处未提供凭据)
子报告弹出窗口(提示凭据)
答案 0 :(得分:1)
现在我想了一下,“转到URL”是一个报告操作,所以你并没有完全使用“子报告”。子报表是在另一个报表中打开报表的组件。
更接近您所需要的操作将是钻取报告,但这将在实际报告的相同上下文中打开新报告。
关于凭证,我认为这是问,因为你是新的跳。
按照我的想法(这只是猜测,所以请原谅我,如果我说的是荒谬的话),当你调用report1时,连接会报告1 - >数据源(1hop,罚款)。当您从report1调用report2时,report1将凭据发送到report2(1跳),report2尝试连接到数据源(第二跳),AD仅支持一跳,这就是我认为它请求凭据的原因。
也许如果您配置kerberos身份验证,它可能会有效......
答案 1 :(得分:0)
我们最终无法使用Kerberos,因为我们无法对服务器进行此类更改。我毫不怀疑它会起作用,因为我们已经删除了身份验证,删除了登录问题,因此我们可以在我们的网络上试用报告。