|
|
|
Reporting Services 2008 - API на раздачу привилегий
|
|||
|---|---|---|---|
|
#18+
Приветствую. Есть задача программно раздавать привилегии на отчёты. Подробнее: есть учётная система (ERP), отчётность построена на RS. Разным пользователям можно смотреть разные отчёты. Хотелось бы сделать таким образом, чтобы при изменении уровня привилегий пользователя в ERP, автоматически выдавались/забирались привилегии на соответствующие отчёты. Что предпринималось: 1. Пытался реализовать через Web Services - статей по этому поводу не нашёл, и, похоже, так сделать нельзя. Возможно, я не прав (тогда подскажите, как). 2. Прямые правки в базе ReportServer. Документации по базе нет, очевидный путь не работает. Докопался до того, что стал генерировать соответствующие XML, но успеха не достиг. Кому интересно - анализировал запросы Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 3. В итоге выдал права на уровне RS всем на всё и стал автоматически править привилегии доступа на ХП, формирующие отчёты. То есть, если пользователь лезет в "чужой" отчёт, метаданные у него прочитаются, но в момент наполнения данными отчёта будет отказ. Это, конечно, работает, но решение далеко от эстетики. У кого-нибудь будут предложения по управлению привилегиями из API? Интуиция говорит, что надо дальше копать в Web Service, но куда - не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2011, 15:57 |
|
||
|
Reporting Services 2008 - API на раздачу привилегий
|
|||
|---|---|---|---|
|
#18+
Смотрите в сторону rs.exe Пример скрипта для 2005 версии Только осторожно. Там система идеотическая. Сначала снимаются все права с отчета и складываются куда то, потом к ним добавляется нужный юзер, и все это скопом заливается обратно. Т.к. есть всего 2 команды, дать и убрать. Не работал правда с 2К8. Может не сработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2011, 18:56 |
|
||
|
|

start [/forum/topic.php?fid=31&tid=1535109]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 302ms |

| 0 / 0 |
