Как устранить эту ошибку: разрешения, предоставленные пользователю «COMPUTERNAME \\ ASPNET», недостаточны для выполнения этой операции. (RsAccessDenied) - PullRequest
5 голосов
/ 26 сентября 2008

Я пытаюсь интегрировать отчет SSRS на мою веб-страницу. Код выглядит следующим образом:

ReportViewer1.ProcessingMode = rocessingMode.Remote;
ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://localhost/reportserver");
ReportViewer1.ServerReport.ReportPath = "/Report Project1/Reconciliation";
List<ReportParameter> paramList = new List<ReportParameter>();
paramList.Add(new ReportParameter("StartDate", startdate.ToString(), false));
paramList.Add(new ReportParameter("EndDate", enddate.ToString(), false));
this.ReportViewer1.ServerReport.SetParameters(paramList);
ReportViewer1.Visible = true;

Я получаю эту ошибку при попытке запустить этот отчет:

The permissions granted to user 'COMPUTERNAME\\ASPNET' are insufficient for performing this operation. (rsAccessDenied)"}   
System.Exception {Microsoft.Reporting.WebForms.ReportServerException}

Может кто-нибудь сказать мне, что я делаю не так?

Ответы [ 3 ]

7 голосов
/ 06 февраля 2009

Чтобы немного прояснить ответ Эрика.

Конкретный набор разрешений безопасности, которые вы хотите установить для исправления этой ошибки (в Диспетчере отчетов есть как минимум еще два типа параметров безопасности), доступен в пункте меню «Безопасность» на вкладке «Свойства» отчетов. папка, которую вы просматриваете.

Очевидно, само собой разумеется, что вы не должны давать полного разрешения группе «Все» для домашней папки, поскольку она наследуется всем остальным элементам и подпапкам и открывает огромную дыру в безопасности.

4 голосов
/ 26 сентября 2008

Вам необходимо предоставить вашему веб-приложению доступ к вашим отчетам. Зайдите в диспетчер отчетов (http://servername/reports/).. Обычно я просто даю всем веб-серверу права «Обозреватель» на отчеты.

Имя учетной записи вашего сервера обычно равно Domain \ servername $. Поэтому, если имя вашего сервера - «webserver01», а домен - Acme, вы предоставите учетной записи Acme \ servername $ права браузера.

Я думаю, вы также можете исправить это, отключив анонимный доступ (в IIS) к веб-приложению, из которого вы запускаете отчет, чтобы службы отчетов могли аутентифицироваться с использованием учетных данных пользователя вместо учетной записи ASPNET. Но это не может быть жизнеспособным решением для вас.

1 голос
/ 26 сентября 2008

Проблема в том, что ваш рабочий процесс ASP.NET не имеет разрешений на то, что вы хотите.

Отредактируйте этого пользователя на сервере (MACHINENAME \ ASPNET) и предоставьте ему больше разрешений (может потребоваться разрешение на запись и т. Д.).

Вам также необходимо добавить MACHINENAME \ ASPNET как пользователя в базу данных SQL, с которой работает SSRS.

...