2
votes

I have a class in a MVC web project that processes SSRS. When I run the app in the IIS machine I access the reports OK. When run from another machine on the network gives me "The request failed with HTTP status 401: Unauthorized." The Report Server has own unique credentiais. Does not accept the logon credentials on the network

Annex a part of the class

reportViewer.ProcessingMode = ProcessingMode.Remote;
reportViewer.ServerReport.ReportServerUrl = new Uri(System.Configuration.ConfigurationManager.AppSettings["RSUrl"]);
reportViewer.PromptAreaCollapsed = true;
reportViewer.ShowParameterPrompts = false;
reportViewer.SizeToReportContent = true;
reportViewer.InteractivityPostBackMode = InteractivityPostBackMode.AlwaysAsynchronous;
reportViewer.AsyncRendering = false;

if (reportType == "GRP")
{
    reportViewer.ShowToolBar = false;
    reportViewer.ShowPageNavigationControls = false;
}
else //if (reportType == "RPT")
{
    reportViewer.ShowToolBar = true;
    reportViewer.ShowPageNavigationControls = true;
}

strReportName = _reqObjNm;
strReportPath = System.Configuration.ConfigurationManager.AppSettings["RSPath"];
reportViewer.ServerReport.ReportPath = strReportPath + strReportName;

string RSUsername = System.Configuration.ConfigurationManager.AppSettings["RSUserName"];
string RSPwd = System.Configuration.ConfigurationManager.AppSettings["RSPwd"];
string RSDomain = System.Configuration.ConfigurationManager.AppSettings["RSDomainFull"];

//App_Start.ReportViewerCredentials rvCreds = new App_Start.ReportViewerCredentials(RSUsername, RSPwd, RSDomain);
//reportViewer.ServerReport.ReportServerCredentials = rvCreds;

reportViewer.Visible = true;
if (reportViewer.ServerReport.GetParameters().Count > 0)  // HERE breaks :(
1

1 Answers

1
votes

If I understand your question correctly I think you need to add a "ReportUser" to the remote SSRS server as a local user and in SSRS manager grant the local "ReportUser" user account proper access.