SSRS 2005 - настройка аутентификации / авторизации пользователя - PullRequest
4 голосов
/ 12 февраля 2009

Я создал веб-приложение ASP.NET 2.0 и хотел бы использовать SSRS 2005 для отчетности.

Веб-приложение использует авторизацию форм и настраиваемые роли для авторизации. Я создал отчеты и развернул их в нашей коробке SQL Server 2005.

У меня есть два варианта для интеграции отчетов в мое приложение:

  1. Ссылка на SSRS из моего приложения. В ссылке будут указаны параметры и параметры. Я уверен, что эта ссылка отображается только для авторизованных пользователей и содержит ссылки на правильный отчет с соответствующими параметрами.

  2. Используйте элемент управления ReportViewer и отображайте отчеты, используя это. Вся обработка будет выполняться SSRS

Однако я не уверен в наилучшем способе настройки безопасности в IIS в окне служб Reporting Services. В настоящее время он установлен на встроенную проверку подлинности Windows. Также у службы отчетов есть мое имя пользователя с ролью браузера.

Не все пользователи моего приложения будут иметь логин AD. Также приложение находится в Интернете, и я не хочу открывать SSRS больше, чем необходимо. В то же время я хочу, чтобы это было для наших пользователей беспроблемным, поскольку я не хочу, чтобы SSRS запрашивал имя пользователя и пароль.

Каков наилучший способ сделать это? Должен ли я создать фиктивного пользователя AD и затем использовать его для связи между приложением ASP.NET и SSRS? Если нет, то как проще всего добиться всего, что мне нужно?

Ответы [ 3 ]

2 голосов
/ 12 февраля 2009

Мы общаемся с SSRS с помощью интерфейса веб-службы и с элементом управления Report Viewer, используя одну и ту же учетную запись AD для всех пользователей. Что касается разрешений, у нас есть пользовательский список доступа что страница asp.net проверяется перед отправкой отчета пользователю. Это прикреплено к имени пользователя. Мы сохранили коробку SSRS в интернете, и доступ пользователя к ней возможен только через приложение, поэтому достаточно контроля списка доступа.

Для управления представлением отчетов нам пришлось создать собственный класс учетных данных для передачи имени пользователя и пароля AD, унаследованных от IReportServerCredentials . Имя пользователя и пароль AD хранятся в XML-файле.

Надеюсь, это поможет.

1 голос
/ 12 февраля 2009

+ 1 Фахад

Помимо использования интерфейса IReportServerCredentials, можно использовать экземпляр ReportServerConnection и назначить его элементу управления просмотра отчетов. Мы сохраняем имя пользователя, пароль и домен (при необходимости) в файле web.config.

ReportServerConnection credentials = new ReportServerConnection('username', 'password');
ReportViewer1.ServerReport.ReportServerCredentials = credentials;
0 голосов
/ 19 октября 2012

Недавно мы интегрировали метод SSO-аутентификации для SSRS (SQL Server 2008 R2) с нашим пользовательским веб-приложением, которое использует аутентификацию по формам. Я нашел эти две статьи очень полезными и обрисовал в общих чертах все, что нам нужно было сделать для реализации нашего единого решения.

Аутентификация единого входа в службы Reporting Services - часть 1

Аутентификация единого входа в службы Reporting Services - часть 2

Вот основные шаги, но я предлагаю вам полностью прочитать эти статьи:

  1. Создайте свой менеджер валидации, который будет обрабатывать аутентификацию, специфичную для вашей системы
  2. Создайте страницу входа для SSRS (наша страница, как и пример, просто вызывает LogonUser, а затем перенаправляет в диспетчер отчетов) - это необходимо, только если вы хотите использовать диспетчер отчетов SSRS
  3. После добавления служб ReportingService2010 & ReportExecution2005 в ваш проект вы захотите создать обертку Proxy вокруг них и переопределить методы GetWebRequest и GetWebResponse, чтобы передать билет SSRS-аутентификации между SSRS и вашим приложением.
  4. Создайте свой пользовательский модуль аутентификации, который реализует IAuthenticationExtension & IAuthorizationExtension (см. Часть 2)
  5. Настройка SSRS для использования вашего модуля проверки подлинности с помощью пользовательских форм
  6. Если вы хотите использовать диспетчер отчетов, то вам необходимо настроить диспетчер отчетов SSRS для обработки заявки на авторизацию приложений: настроить диспетчер отчетов для передачи пользовательских файлов проверки подлинности

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...