views:

671

answers:

1

Hi,

I'm trying to set up SSRS 2008 on my desktop machine for development purposes.

The following is working fine:

  • Report deployment on local server
  • Previewing the report in BIDS
  • Access to htpp://localhost/Reports panel

But when I point the ASP.NET Reportviewer to the Report URL, I get the following error:

The permissions granted to user 'NT-AUTHORITY\NETWORKSERVICE' are insufficient for performing this operation. (rsAccessDenied)

How can I get around this error? Is there any dialog where I can grant SSRS access rights to certain forms authentication roles? I've googled quite a bit on this, but what I have found so far was either outdated or quite confusing.

Edit: Several users of my web app are going to have access to the same database, so I need the UserID build-in field (User!UserID) to reflect the user's Forms authentication ID. I guess the only way to achieve this is making SSRS work with forms auth?

+1  A: 

You web application is running as Network Service so that is the user you are trying to connect to Report Server as. You have several options. One, you can grant Network Service permission to execute the report you are trying to run. Two you can have your web application impersonate a windows user and give the correct users permission to the report. Three you can impersonate impersonate a different user when connecting to RS. I believe to do the last one you will have to write some extension code for the viewer to tell it how to impersonate before connecting, but for the other two there would be no code change.

You could also look into using Report Server in Forms auth mode if your web site is not an internal site, but this is more complicated.

EDIT for 2nd Question: Yes, you will need each user to be unique when they access RS so you will need to use Forms Auth or windows auth or write your own custom authentication extension.

Daniel
I've already added NT-AUTHORITY\NETWORKSERVICE to the list of users in ReportManager and gave it SystemAdmin and SystemUser roles, but it did not help. Is that what you mean by "grant Network Service permission to execute the report you are trying to run"?
Adrian Grigore
Yes, that should have done it.
Daniel
Try going to the root folder first and giving network service the Content Manager role.
Daniel
Done... but it still does not solve the problem.
Adrian Grigore
The only thing I can think to check is if the System role has the "Execute Report Definitions" tasks selected. You can see this through Sql Server Management Studio.
Daniel
You should also verify that Network Service has permission on the actual report.
Daniel
You got it! Network Service, despite of having SystemAdmin and SystemUser roles wasn't allowed to access that particular report. Thanks a lot for your help! :-)
Adrian Grigore