1

我目前正在C#为我的公司开发一个应用程序,该应用程序连接到我们的SSRS服务器,运行特定报告,在应用程序中格式化 excel 报告,然后将它们吐出到某个位置。
该应用程序按预期工作,只有一点点烦恼。
每次运行特定的报告类型时,都必须输入credentialsfor 。 我们以报告的 URL 作为文件名打开。这是从我们的应用程序 实际打开文件的代码:SSRS
excel file
excel

Microsoft.Office.Interop.Excel.Workbook excelActiveBook; 
excelActiveBook = excelApp.Workbooks.Open(reportURL, 0, false, 5,     System.Reflection.Missing.Value, System.Reflection.Missing.Value, false, System.Reflection.Missing.Value, System.Reflection.Missing.Value, true, false, System.Reflection.Missing.Value, false, false, false);

有什么方法可以通过credentials我们SSRS编写的这个应用程序传入。
我们正在使用SSRS 2005.

4

3 回答 3

0

有多种以编程方式访问 SSRS 的方法 - 请参阅此处了解一些详细信息。

您只需要注意您的域没有设置代理服务器 - 如果用户试图将他们的 Windows 凭据传递给 SSRS 服务器,他们可以直接这样做没有问题,但如果有一个跃点首先到代理,然后需要设置服务器以执行 Kerberos 委派。

于 2009-10-15T15:38:12.267 回答
0

这是 Reporting Services 服务器上数据源的设置。

登录到 SSRS 服务器并转到数据源。编辑有问题的数据源,然后选择使用来自调用程序的凭据的选项。

于 2009-10-15T15:25:38.253 回答
0

您是否真的需要将凭据传递回报表服务器(例如,用户对数据的看法是否基于他们的凭据)?

如果不是通常创建域帐户,则授予该帐户对源数据库的权限,然后修改报表服务器上的数据源属性(使用报表管理器)以使用“安全存储在报表服务器中的凭据”进行连接,输入域帐户用户名和密码,并选择“连接时用作 Windows 凭据”。

如果您的数据源不支持 Windows 身份验证,您可以使用标准登录(例如 SQL Server 身份验证)实现相同的目的,显然您不要在数据源属性上选择“用作 Windows 凭据..”。

这样,报表服务器访问数据源所需的凭据存储在内部,不需要调用报表 - 然后需要通过前端应用程序中的权限来管理安全性。

于 2010-01-19T00:00:57.067 回答