Передача имени пользователя и пароля в отчеты SSRS 2005 из веб-приложения - PullRequest
1 голос
/ 04 января 2012

Я хочу повысить безопасность отчетов, основываясь на имени пользователя и пароле, имеющихся в базе данных моего веб-приложения.Но я не хочу добавлять параметр (ы) имя пользователя / пароль в файл rdl, который показывает пароль в виде открытого текста.Как лучше всего выполнить эту задачу?В настоящее время мой сервер отчетов обходит мой веб-сервис?URL-адрес отчета напрямую вызывать отчет на сервере отчетов.Могу ли я сделать это через веб-сервис, который может аутентифицировать пользователя?Есть предложения?

1 Ответ

0 голосов
/ 04 января 2012

Метод, обеспечивающий максимальную гибкость, заключается в переопределении аутентификации в SSRS:

http://technet.microsoft.com/en-us/library/ms152825.aspx

Если вы не можете или не хотите идти по этому пути, лучше всего передать имя пользователя в качестве параметра отчета. Конечно, вы должны сделать этот параметр скрытым. В вашей базе данных отчетов вы захотите создать таблицы безопасности «многие ко многим», которые соединят вашу пользовательскую таблицу с ограничивающими объектами в запросах отчетов. Например, если вам нужна защита на уровне строк по филиалам, офисам, отделам или другим объектам, вы должны создать таблицу Users_Department и в своем запросе к отчетам вы внутренне присоединитесь к ней и к таблице пользователей.

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

Но в некоторых случаях это ваш лучший (или единственный!) Вариант.

...