September 26, 2007 at 12:06 pm
I'm getting the following error:
The permissions granted to user 'NT AUTHORITY\NETWORK SERVICE' are insufficient for performing this operation. (rsAccessDenied)
...when I try to use a reportviewer control from a web application.
I've tried to add the group on the report server of NT AUTHORITY\NETWORK SERVICE and have a 'browser' role.
That didn't work.
I've tried to use:
This just gives me an error of:
The permissions granted to user 'servername\username' are insufficient for performing this operation. (rsAccessDenied)
...where the username is the Windows user account for anonymous access
I've even given 'servername\username' a group on the report server and a 'browser' role, but I stil get the same error as above.
Any suggestions?
October 3, 2007 at 8:15 pm
Chip,
Don't know if you got this working yet. If not, a few questions:
1. Is your web app with ReportViewer control on a different server than SSRS?
2. What is the IIS version used? IIS5 - Win 2000? IIS6 - Win 2003?
3. What is the authentication scheme used by the web app (i.e., in web.config)
If I remember right, across servers, NT AUTHORITY\Network Services translates to
DOMAIN\MACHINENAME$ (yes, $ at end).
You might try to give SSRS permissions to that account to see if it works.
Regards,
Scott Thornburg
October 4, 2007 at 8:33 am
Hi Chip,
I recently worked through the same issue that you are now facing.
What I did was set the credentials (a valid windows account) in the web page.
See below:
Me.ReportViewer1.ServerReport.ReportServerCredentials = New ReportServerCredentials( _
ConfigurationManager.AppSettings("CSUID"), _
ConfigurationManager.AppSettings("CSPWD"), _
ConfigurationManager.AppSettings("CSDomain"))
The credentials class:
Imports Microsoft.VisualBasic
Imports Microsoft.Reporting.WebForms
Imports System.Net
Public Class ReportServerCredentials
Implements IReportServerCredentials
Private _username As String
Private _password As String
Private _domain As String
Public Sub New(ByVal userName As String, ByVal password As String, ByVal domain As String)
_username = userName
_password = password
_domain = domain
End Sub
Public Function GetFormsCredentials(ByRef authCookie As System.Net.Cookie, ByRef userName As String, ByRef password As String, ByRef authority As String) As Boolean Implements Microsoft.Reporting.WebForms.IReportServerCredentials.GetFormsCredentials
authCookie = Nothing
userName = Nothing
password = Nothing
authority = Nothing
Return False
End Function
Public ReadOnly Property ImpersonationUser() As System.Security.Principal.WindowsIdentity Implements Microsoft.Reporting.WebForms.IReportServerCredentials.ImpersonationUser
Get
Return Nothing
End Get
End Property
Public ReadOnly Property NetworkCredentials() As System.Net.ICredentials Implements Microsoft.Reporting.WebForms.IReportServerCredentials.NetworkCredentials
Get
Return New NetworkCredential(_username, _password, _domain)
End Get
End Property
End Class
October 4, 2007 at 9:04 am
Thanks to both of you for the posts!
I ended up using this certain report as "remote" mode instead of "local" mode in the reportviewer control since it had a parameter, and it turns out my SQL statement was trying to run as dbo.
I'll try your suggestions as well.
Thanks!
Chip
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply