1
votes

I am having SSRS report server credentials. I want the users to auto login (impersonate) whenever they go to the reports page using the credentials that I have hard coded. I am using Angular ngx-ssrs-reportviewer plugin but every time i open the report the i have the following prompt can i pass a fixed credentials ?! enter image description here

1
Mohamed, did you find a solution? I have the same issue.Scott Duncan

1 Answers

1
votes

This is because of Windows Authentication used by SSRS (Report Server). Like it says in the Limitations section in the documentation of ngx-ssrs-reportviewer this is not something you can fix in angular UI.

https://www.npmjs.com/package/ngx-ssrs-reportviewer

There are many workarounds posted in StackOverflow and other websites; however, the easiest thing I found is to create a plain .NET WebForms site using the Report Viewer control from Microsoft.

https://docs.microsoft.com/en-us/sql/reporting-services/application-integration/integrating-reporting-services-using-reportviewer-controls-get-started?view=sql-server-ver15

Then you simply open this website/url from angular like you do any external website, passing all required report inputs, reportServer, reportPath, and the security token. On the.NET side you have to validate the token and then use a hardcoded/service user (you can get from web.config to make it configurable). Or you can somehow get the user from the token but that is a whole other topic.

There are a lot of details on the .NET webforms Report Viewer I am obviously skipping, but the point is do all the work on regular .NET page and then from angular is easy because you just build a url and do either:

window.open

or

window.location.href