SSRS 2005 - Configure User Authentication / Authorization

I created an ASP.NET 2.0 web application and would like to use SSRS 2005 for reporting purposes.

The web application uses form authentication and user roles for authorization. I created reports and deployed them to our SQL Server 2005 window.

I have two options for integrating reports into my application:

  • Link to SSRS from my application. The link will have the specified parameters and parameters. I make sure that the link is displayed only to authorized users, and it refers to the correct report with the appropriate parameters.

  • Use ReportViewer to manage and display reports using this. All processing will be done by SSRS.

However, I'm not sure how best to configure security in IIS in the Reporting Services window. It is currently configured for Windows Integrated Authentication. Also, the reporting service has my username with the browser role.

Not all users of my application will have an AD login. Also, the application is on the Internet, and I do not want to open SSRS more than necessary. At the same time, I want this to be easy for our users, because I do not want SSRS to ask for a username and password.

What is the best way to do this? Should I create a dummy AD user and then use it to communicate between the ASP.NET application and SSRS? If this is not the case, then what is the easiest way to get everything I need?

+4
source share
3 answers

We communicate with SSRS using the web service interface and using the Report Viewer control using the same AD account for all users. Regarding access rights, we have a user access list that the asp.net page checks before sending the report to the user. This is due to the username. We have saved the SSRS window on the Internet, and access to it is only possible for user access, so access list control is sufficient.

To manage reporting, we had to create our own credential class to pass the AD username and password inherited from IReportServerCredentials . The AD username and password are stored in an XML file.

Hope this helps.

+2
source

+1 Fahad

Also, using the IReportServerCredentials interface, you can use the ReportServerConnection instance and assign it to the report view control. We save the username, password and domain (if necessary) in the web.config file.

ReportServerConnection credentials = new ReportServerConnection('username', 'password'); ReportViewer1.ServerReport.ReportServerCredentials = credentials; 
+1
source

We recently integrated the SSO authentication method for SSRS (SQL Server 2008 R2) with our custom web application that uses forms authentication. I found these two articles very useful and told everything that we needed to do to implement our SSO solution.

Single Sign-On Authentication (SSO) - Part 1

Single Sign-On Authentication (SSO) - Part 2

Here are the basic steps, but I suggest you read these articles fully:

  • Create your own validation manager that will handle authentication specific to your system.
  • Create your login page for SSRS (our page, like the example, just calls LogonUser and then redirects to Report Manager). This is only necessary if you want to use SSRS Report Manager
  • After adding the ReportingService2010 and ReportExecution2005 services to your project, you will want to create a proxy around them and override the GetWebRequest and GetWebResponse methods to transfer the SSRS authentication ticket between SSRS and your application.
  • Create your own authentication module that implements IAuthenticationExtension and IAuthorizationExtension (see Part 2).
  • Configure SSRS to use native forms authentication module.
  • If you want to use the report manager, you will need to configure the SSRS report manager to process your application authorization ticket: Configure the report manager to send Custom authentication cookies

With these steps, you can use Report Manager or simply implement web services directly in your application.

0
source

All Articles