SSRSViewer and Authentication

I have the SSRSViewer setup to pull some reports. It works fine in a test app when the SQL server is locally installed and I use local Windows credentials to access everything. When I test with my dev SQL server and a domain based SSRS instance I get permission issues when running a report. How do I specify a spefic account for the SSRSViewer to use to authenticate? I have some instances of internal apps that do not need login or require a non-windows login type. The SSRS server however requires Windows domain login to access it. I hope this is clear.

Thanks,

Josh

Hi Josh,

Please check this thread:

Best Regards,
Vladimir

I was able to create the ReportController.Custom.cs file but how do I reference and use it? I was able to verify that if I uncheck Use Proxy the report opens and generates without an issue but looks like generic SSRS in an iframe.

The custom controller is a partial class - it will be used automatically.

Here is the error I get when the Use Proxy is checked.

Can you provide more info about your custom code in the custom controller?

Here is a screenshot of the code. I used the example provided in the prior link posted above.

This is just an example how to specify user and password if you have Windows authentication for your report server. Most probably the example user/pwd are not valid for your domain.

I used my domain credentials for it. I simply put that back in there as a placeholder of what I used.

Is the report server on your machine (localhost) or somewhere else? Please post screenshot from SSRSViewer properties in Radzen.

It is on another server. If I uncheck the Use Proxy it does work. Not sure what I'm missing. Proxy does work on another project I'm working on that is still a POC and I run locally just not on my remote production server.

Please change the report server url to http://10.30.4.10/ReportServer to check if this will change anything. What are the settings in your other project where everything works? Is the report name similar to this one?

I changed the setting but it had no effect. The other project runs completely locally on my laptop right now as it is a proof of concept still. It works with and without proxy use. It seems to be when I use a remote SQL server for SSRS as I tried it with another SQL server as a test. The database itself is remote to this machine and has no issues talking to the server from a data perspective only reporting. Thanks for all the help.

I've updated Radzen to the latest version as I saw there were some SSRS fixes implemented. Unfortunately, I still have issues when attempting to use the "Use Proxy" feature. Now it asks for credentials constantly and never displays the report. When Use proxy is off it works fine.

Perhaps it has something to do with not having any references? I noticed in the example screenshot there was 1 reference but mine has none.

Hi @joshwilliam,

You can try setting the PreAuthenticate property of the handler to true.

partial void OnHttpClientHandlerCreate(ref HttpClientHandler handler)
{
     handler.PreAuthenticate = true;
     handler.Credentials = new System.Net.NetworkCredential('user', 'password', 'domain');
}

Unfortunately we have been unable to determine a predictable way to authenticate from .NET code - for some users it works, for some it does not. Sometimes it depends on the account itself.

Other possible workarounds are:

  1. Allow access to those reports to the account under which your IIS application pool works. In this case set UseDefaultCredentials property of the handler to true and remove the other code.
  2. Avoid setting useProxy to true altogether - it is required only if you want to pass ‘hidden’ report parameters.
  3. Allow anonymous access to those reports so login is not required.

I am having this exact issue. Was there a final resolution to this problem, I see the post is from October 2018. Please let me know if there is a way to solve this since this should be a pretty simple standard practice; create a report in report services, and be able to call it from a Radzen screen without any problems and view it via the browser from anywhere.

My last reply is the final resolution to the problem. No other solution is known to us. If this doesn't meet your needs you can use the report by providing the URL to your users as a hyperlink.

Thank You, I will let you know what exactly worked.

What is your recommended report utility that best works with Radzen?

SSRS is the only reporting solution that Radzen supports.