SSRS 2008: ReportViewer не имеет прав доступа к локальному серверу отчетов - PullRequest
0 голосов
/ 01 октября 2009

Я пытаюсь настроить SSRS 2008 на своем компьютере для разработки.

Следующее работает нормально:

  • Отчет о развертывании на локальном сервере
  • Предварительный просмотр отчета в BIDS
  • Доступ к htpp: // localhost / Панель отчетов

Но когда я указываю ASP.NET Reportviewer на URL-адрес отчета, я получаю следующую ошибку:

Разрешения, предоставленные пользователю 'NT-AUTHORITY \ NETWORKSERVICE', недостаточны для выполнения этой операции. (RsAccessDenied)

Как я могу обойти эту ошибку? Есть ли диалог, в котором я могу предоставить права доступа SSRS для определенных ролей проверки подлинности форм? Я немного погуглил по этому вопросу, но то, что я нашел до сих пор, было либо устаревшим, либо довольно запутанным.

Редактировать: Несколько пользователей моего веб-приложения будут иметь доступ к одной и той же базе данных, поэтому мне нужно встроенное поле UserID (User! UserID) для отображения идентификатора аутентификации пользователя с помощью форм. Я думаю, что единственный способ добиться этого - заставить SSRS работать с формами auth?

1 Ответ

1 голос
/ 01 октября 2009

Ваше веб-приложение работает в качестве сетевой службы, поэтому вы пытаетесь подключиться к серверу отчетов как. У вас есть несколько вариантов. Во-первых, вы можете предоставить разрешение сетевой службы на выполнение отчета, который вы пытаетесь запустить. Во-вторых, ваше веб-приложение может выдать себя за пользователя Windows и дать правильное разрешение пользователям на отчет. Три вы можете выдать себя за другого пользователя при подключении к RS. Я полагаю, что для выполнения последнего вам придется написать некоторый код расширения для зрителя, чтобы он сказал, как имитировать себя перед подключением, но для двух других изменений кода не будет.

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

РЕДАКТИРОВАТЬ для 2-го вопроса: Да, вам нужно, чтобы каждый пользователь был уникальным при доступе к RS, поэтому вам нужно будет использовать Forms Auth или windows auth или написать свое собственное расширение для аутентификации.

...