0
votes

I have inherited an ASP.NET website that uses ReportViewer.

The problem I have is that the credentials being used to connect to the report server are those of a windows user with admin rights. I want to change them to those of a windows user with the minimum credentials required.

My main database now uses Windows Authentication so I already have a windows user with db_datareader, db_datawriter access to the main database. So I gave that same user db_datareader rights to the ReportServer database. And in the Shared DataSource used on the ReportServer, I set "Connect using" to "Credentials supplied by the user running the report" with "Use as Windows credentials when connecting to the data source" set to true.

However, when I change the website to use that user instead of the admin user I get "The permissions granted to user 'DomainName\UserName' are insufficient for performing this operation. (rsAccessDenied)"

What other permissions do I need to grant to this user to get it to work?

2

2 Answers

1
votes

It sounds to me as if the user doesn't have permission within Reporting Services to the appropriate report. You may need to grant permission to that user within Reporting Services. You'd do this from the Report Manager website.

I know you granted the user permissions to the Reporting Services database, but that's not the same as granting permission within Reporting Services to a particular report.

0
votes

OK This is what I actually did -

Using Report Manager:

  1. Assigned System User Role to the DomainName\UserName that the website is using. See system-level permission

  2. Assigned Browser Role to the same user. See item-level permission. Now the report viewer in the website works, but it prompts the user for credentials (which I don't want).

  3. Changed the shared data source to "Connect using Windows Integrated Security". Now the report runs in the website.

Then as an experiment in Sql Server, I removed the user from the ReportServer database. The website still works so I guess that permission was never required.