|
Запросы, права доступа, СКД |
☑ |
0
GANR
18.07.12
✎
15:04
|
Как удалить из результата запроса в СКД строки, в которых у пользователя нет прав хотя-бы на одно (!) поле? А то отображается "<Объект не найден ... >" - лучше пусть вообще строка не выводится. Конструкция ВЫБРАТЬ РАЗРЕШЕННЫЕ не действует.
Основная задача: по полному имени метаданного сформировать текст запроса вида:
ТекстЗапроса = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| *
|ИЗ
| " + ПолноеИмя;
Как решить проблему с минимальными трудозатратами на кодирование???
|
|
1
Нуф-Нуф
18.07.12
✎
15:05
|
имхо тут дело не в правах...
|
|
2
GANR
18.07.12
✎
15:07
|
(1) Как-же быть? В качестве полумеры я предложил использовать отбор по полю объекта, права на чтение которого МОЖЕТ НЕ БЫТЬ: ВерсияДанных _ НЕ Равно _ "", но "продвинутые" пользователи легко снесут эту настройку при желании.
|
|
3
GANR
18.07.12
✎
15:18
|
up
|
|
4
Нуф-Нуф
18.07.12
✎
15:20
|
задача какая вообще?
а по сабжу чувствуется битая ссылка
|
|
5
GANR
18.07.12
✎
15:22
|
(4) Отчасти может быть и так... но "<Объект не найден ... >" и в том случае, если на запрашиваемый объект у пользователя просто нет прав.
|
|
6
GANR
18.07.12
✎
15:22
|
+(5) в большинстве случаев в моем отчете (универсальный отчет, строящийся по полному имени метаданного) это так
|
|
7
GANR
18.07.12
✎
15:42
|
Кажется, есть 2 варианта борьбы:
1. Борьба с последствием
Выгрузить результат запроса в таблицу значений и удалить из последней строки с "битыми" ссылками.
2. Борьба с причиной
Переписать сами роли так, чтоб не было прав на те элементы, где нет прав на хотя-бы одно из полей.
|
|