RLS для интерактивных прав

1. burni4 89 05.04.21 12:46 Сейчас в теме
Может кто подскажет, либо намекнет где почитать. Есть задача по настройке доступов, к примеру есть ряд видов документов у которых в определенных реквизитах есть склад, так вот можно ли как-то настроить права, что бы конкретному пользователю были доступны на открытие документы с определенным складом. Изначально пытался настроить с помощью типовых шаблонов и RLS, но ограничив доступ таким образом мы блокируем чтение (точнее можем блокировать НЕ интерактивные права), как бы пользователь не видит наши документы и все хорошо, но ! он так же не видит эти данные в типовых отчетах. А хотелось бы ограничить доступ только на уровне открытия документов либо справочников.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 81 05.04.21 12:50 Сейчас в теме
(1)RLS работает на уровне базовых прав: чтение, добавление, изменение.

Интерактивные права RLS-ом никак не ограничить, только кодом в соответствующих формах каждого объекта.
3. burni4 89 05.04.21 12:53 Сейчас в теме
(2) т.е надежды нет для универсального интерактивного ограничения?)
5. nomad_irk 81 05.04.21 12:54 Сейчас в теме
(3)Абсолютно. Как в модуле формы(а то и в общем модуле) будет указано, так и будет работать ограничение для отображения конкретной формы конкретного объекта.
7. burni4 89 05.04.21 12:59 Сейчас в теме
(5) эх.. только только начинаешь понимать насколько RLS классные, и сразу же в лоб нерешаемая проблема( в лбом случае, спасибо за ответ
8. nomad_irk 81 05.04.21 13:01 Сейчас в теме
(7)RLS классные, если ограничения простенькие....при сложных ограничениях - это ад и израИль.......
9. burni4 89 05.04.21 13:02 Сейчас в теме
(8) кстати как я понял, по возможности вообще ограничиваться от RLS? ибо замедляет запросы конкретно, или это ложные предубеждения?)
11. nomad_irk 81 05.04.21 13:05 Сейчас в теме
(9)Замедляет в том случае, когда одному пользователю назначаются несколько ролей с разными настройками RLS, т.к. для каждой роли проверяется доступ к данным таблицы.
17. user633533_encantado 12 05.04.21 13:23 Сейчас в теме
(1) Можно настраивать доступ на отдельные поля. Например только на ссылку. Тогда ссылка на документ будет видна в отчетах, а вот открыть документ не получится.
19. burni4 89 05.04.21 13:38 Сейчас в теме
(17) т.е. ссылку разрешать всегда, а остальные поля ограничивать?
20. user633533_encantado 12 05.04.21 13:42 Сейчас в теме
(19) Ну да, тогда в отчете, где выводятся ссылки на документ он будет.
21. burni4 89 05.04.21 13:54 Сейчас в теме
(20) но если в отчете берется реквизит из документа? ошибка? это что бы понимать куда копать
22. user633533_encantado 12 05.04.21 14:11 Сейчас в теме
(21) Да, будет ошибка. Полей на которые есть доступ может быть много, но если есть ограничения, то пользователь не сможет открыть документ.

Я такое делал для задачи: нужно, чтобы пользователь мог работать с заявкой на расход ДС, но ведомость указанную в заявке посмотреть не мог. Ссылку на форме он видел но зайти не мог.

Поигравшись с набором полей можно добиться, что все отчеты пользователь сможет формировать, но сам документ открыть не сможет.
4. serg33rus 35 05.04.21 12:53 Сейчас в теме
Правильно ли я понимаю, что какие-то документы или элементы справочников не видны в списке, но эта же данные видны в отчетах? Если так RLS вообще не прокатит. Там блокировка на уровне записи. Если не видна, то не видна нигде. А конфа типовая? Если типовая, то стандартными средствами не решить. А вообще динамические списки формируются отбором, т.е. запросом. И там можно и почудить. НО это в свой конфе. Типовую так изуродовать можно конечно, но стремно.
6. burni4 89 05.04.21 12:56 Сейчас в теме
(4) да в том то и дело, что на уровне записей по задаче блокировать не подходит, нужно только интерактивное ограничение (типо Открытие, Редактирование) я уже накидал подписку на открытие форм, вроде работает отлично, но что делать с печатными формами (карточка документа и т.п), по логике их так же нельзя формировать, т.е. в идеале интерактивное ограничение при проверке по ссылке. даже хз как это описать)
10. serg33rus 35 05.04.21 13:05 Сейчас в теме
(6) Не понял. Если документ не открылся, то о какой печатной форме мы говорим? И в таком варианте в списке документы все-равно будут отображаться. или это не страшно?
12. burni4 89 05.04.21 13:13 Сейчас в теме
(10) печатные формы из формы списка документа, и в форме списка они должны быть, но открываться не должны( вот такая вот задача(
13. nomad_irk 81 05.04.21 13:14 Сейчас в теме
(12)Так в форме списка самих документов не будет, они должны будут попасть под ограничение RLS.
16. SlavaKron 05.04.21 13:21 Сейчас в теме
(12) Достаточно легко решается подпиской на ОбработкаПолученияФормы. В качестве источника можно взять просто ДокументМенеджер.
14. vipetrov2 05.04.21 13:18 Сейчас в теме
Вообще постановка задачи не понятна. Не надо видеть определенные документы в списке, но при этом нужно видеть данные по этим документам в отчетах. А как же быть с полем регистратор? Тогда через отчет можно этот документ увидеть, открыть.

Если вам нужно что бы пользователь не путался и не видел лишние документы, то можно просто фильтр через настроить список поставить. А если хотите что бы пользователь не видел данных документов, но пользовался какими то странными отчетами с неполными данными этих документов, то делайте RLS и аналоги типовых отчетов в виде внешних или расширений с привилегированным режимом.
15. nomad_irk 81 05.04.21 13:20 Сейчас в теме
(14)
Вообще постановка задачи не понятна. Не надо видеть определенные документы в списке, но при этом нужно видеть данные по этим документам в отчетах. А как же быть с полем регистратор? Тогда через отчет можно этот документ увидеть, открыть.


Если формировать отчет в режиме "полных прав", то "ссылка" на документ будет, а вот открыть вы его не сможете.
18. user1534961 05.04.21 13:29 Сейчас в теме
Проблема в том, чтобы под rls пользователь не мог создать документ/элемент/запись регистра не соответствующую его ограничениям?
В выборе данных для создания не должно быть ничего, что в любом сочетании приведет к нарушению ограничений в результате - т.е. индивидуальные рабочие места программно для каждого пользователя...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот