0
PiotrLoginov
21.07.20
✎
13:51
|
Есть задача выводить текстовое представление доков, на чтение которых у юзера нет прав. Смущает, что если всё запрошу в привилегированном режиме, то не будут учтены RLS, настроенные для доков, на чтение которых у юзера есть права.
Если на тип документа нет прав - пусть выводятся все. А вот если на тип документа есть права, хотелось бы, чтобы запрос вернул только те доки данного типа, которые разрешены RLS.
Как такое сделать наиболее оптимально?
|
|
1
D_E_S_131
21.07.20
✎
14:19
|
Это примерно как ограничение входа в помещение дверь, а более серьезное ограничение - дверь с замком. И вы тут предлагаете "фиг с ней с дверью - пусть ее не будет, но замок установите". :)
|
|
2
polosov
21.07.20
✎
14:31
|
(0) Получить данные в привилегированном режиме с необходимыми отборами и представлениями, передать в СКД.
В СКД вывести представления тех строк из первой выборке, которых нет в выборке в СКД (в СКД выбираешь РАЗРЕШЕННЫЕ).
Как-то так попробуй.
|
|
3
PiotrLoginov
21.07.20
✎
17:04
|
(1) если отсутствие прав на определенные типы доков - это дверь, то да, фиг с ней с дверью. Но для остальных доков пусть учитываются и двери, и замки. О том, чтобы устанавливать замки там, где игнорируются двери, речь не идет.
(2) т.е., все-таки, доки, на которые есть права, получать одним запросом ("РАЗРЕШЕННЫЕ"), а доки на которые нет прав, получать в привилегированном режиме вторым запросом. Это, собственно - первое, что пришло на ум. Ок, Сделаю так, раз нет других вариантов. А потом результаты двух запросов передам в СКД.
|
|