1

我刚刚开始在 SSRS 工作,遇到了一个非常奇怪的问题,即当我调用报表服务器 URL 时,即 localhost/Reports

此 URL 需要用户名和密码的身份验证窗口。像这样。 在此处输入图像描述

如果我在这种情况下提交了本地系统用户帐户信息,它将出现我们想要的报告服务器屏幕。像这样。 在此处输入图像描述

我创建了一个演示 Web 应用程序,并在我ReportViewer用来显示报告和配置它的 default.aspx 页面中。这是我正在使用 Default.aspx页面的代码

<rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="100%">
</rsweb:ReportViewer>

Default.aspx.cs

    ReportViewer1.ProcessingMode = ProcessingMode.Remote;
    IReportServerCredentials irsc = new CustomReportCredentials("username", "password", "India");
    ReportViewer1.ServerReport.ReportServerCredentials = irsc;
    ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/Reports");
    ReportViewer1.ServerReport.ReportPath = "/SSRS_Demo/Report_CaseMain";
    ReportViewer1.ServerReport.Refresh(); 

CustomReportCredentials.cs班级

public class CustomReportCredentials : IReportServerCredentials
    {
        // local variable for network credential.
        private string _UserName;
        private string _PassWord;
        private string _DomainName;
        public CustomReportCredentials(string UserName, string PassWord, string DomainName)
        {
            _UserName = UserName;
            _PassWord = PassWord;
            _DomainName = DomainName;
        }
        public WindowsIdentity ImpersonationUser
        {
            get
            {
                return null;  // not use ImpersonationUser
            }
        }
        public ICredentials NetworkCredentials
        {
            get
            {
                // use NetworkCredentials
                return new NetworkCredential(_UserName, _PassWord, _DomainName);
            }
        }
        public bool GetFormsCredentials(out Cookie authCookie, out string user, out string password, out string authority)
        {
            // not use FormsCredentials unless you have implements a custom autentication.
            authCookie = null;
            user = password = authority = null;
            return false;
        }
    }

当我在这种情况下运行这个网络应用程序时,它会给我一个错误,即 在此处输入图像描述

请帮我看看我将如何解决这些所有错误......

4

3 回答 3

2

经过很长时间的研发,我得到了解决方案。我使用了错误的 SSRS 服务 URL。我正在使用localhost/Reports,但实际上 SSRS 报告服务器 URL 是localhost/ReportServer. 因此,通过使用这个新的报告服务 URL,我得到了该问题的解决方案。

于 2012-07-13T09:10:23.053 回答
1

单击 localhost/Reports 上的报告,然后转到该报告的属性。在右侧有“数据源”点击它。然后检查单选按钮“安全存储在报表服务器中的凭据”,在这里您需要指定您的 SQL 服务器凭据,即用户名和密码

于 2012-08-27T08:10:34.983 回答
0

一次性活动:单击报告后,它会在第一次再次询问用户名和密码,以克服此问题,请遵循以下指南。

(i) 打开 Internet Explorer 转到设置单击 Internet 选项

(ii) 转到安全性:-> 本地 Intranet -> 单击站点

(iii) 点击高级:

(iv) 添加站点:ServerIP 地址(例如 172.16.2.224 或 localhost),然后关闭。

于 2016-03-08T11:23:57.523 回答