【发布时间】:2019-06-20 13:55:24
【问题描述】:
当我使用与 localhost 相同的凭据运行代码时,它可以正常工作,但是当我将它部署到服务器时,它给了我以下错误:
请求失败,HTTP 状态为 401:未授权。
我已尝试为特定用户报告服务器的权限报告服务器 url 在服务器和本地主机中分别使用相同的凭据也尝试<identity impersonate="true"/> 但没有运气,我的代码如下:
string UserName = System.Configuration.ConfigurationManager.AppSettings["SsrsUserName"];
//added by nilesh
string Password = System.Configuration.ConfigurationManager.AppSettings["SsrsPassword"];
//added by nilesh
// string ReportUrl = System.Configuration.ConfigurationManager.AppSettings["MileageReport"];
//added by nilesh
// string ReportServer = System.Configuration.ConfigurationManager.AppSettings["ReportServer"];
string folder = System.Configuration.ConfigurationManager.ConnectionStrings["rptfolder"].ProviderName;
string reportURL = "";
reportURL = System.Configuration.ConfigurationManager.ConnectionStrings["rpturl"].ProviderName;
ReportViewer1.ProcessingMode = Microsoft.Reporting.WebForms.ProcessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri(reportURL);
ReportViewer1.ServerReport.ReportPath = folder + "MileageReport";
//ReportViewer1.ServerReport.ReportPath = folder + "testReport";
//added by nilesh
IReportServerCredentials irsc = new ReportCredentials(UserName, Password, System.Configuration.ConfigurationManager.ConnectionStrings["domain"].ProviderName);
ReportViewer1.ServerReport.ReportServerCredentials = irsc;
// bool isauthenticated = ReportViewer1.ServerReport.ReportServerCredentials.ImpersonationUser.IsAuthenticated;
UserDataClass.LogError(userData.userId, "Not Error " + " UserName " + UserName + " Password " + Password + " Domain " + System.Configuration.ConfigurationManager.ConnectionStrings["domain"].ProviderName + " ReportPath " + ReportViewer1.ServerReport.ReportPath + " reportURL " + ReportViewer1.ServerReport.ReportServerUrl );
// ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerNetworkCredentials();
ReportParameterInfoCollection pInfo = default(ReportParameterInfoCollection);
System.Collections.Generic.List<ReportParameter> paramList = new System.Collections.Generic.List<ReportParameter>();
paramList.Add(new ReportParameter("StartDate", startDate.ToString("dd-MMM-yyyy"), false));
paramList.Add(new ReportParameter("EndDate", endDate.ToString("dd-MMM-yyyy"), false));
paramList.Add(new ReportParameter("DeviceId", "ALL", false));
paramList.Add(new ReportParameter("DQCustId", Convert.ToString(userData.customerId), false));
paramList.Add(new ReportParameter("UserId", Convert.ToString(userData.userId), false));
ReportViewer1.ServerReport.SetParameters(paramList);
pInfo = ReportViewer1.ServerReport.GetParameters();
// ReportViewer1.ShowParameterPrompts = false;
ReportViewer1.ServerReport.Refresh();
【问题讨论】:
标签: c# reporting-services