Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
27 ноя 2024, 03:36

Может к ночи меня глючит или такое возможно (+) ?

Автор oooo800, 25 сен 2020, 01:35

0 Пользователей и 1 гость просматривают эту тему.

oooo800

Самописная конфигурация, управляемые формы; платформа 8.3.16+.
Есть справочник "Пользователи" .
Есть запрос с условием относительно прав текущего пользователя - отбирать или не отбирать те или иные элементы.
Например, если текущий пользователь:
- админ - отбираются все элементы;
- СтаршийЗамАдмина - отбираются все элементы, кроме "Админ" ;
- ОбычныйЗамАдмина - отбираются все элементы, кроме "Админ" и "СтаршийЗамАдмина " ;
- РядовойПользователь пользователь - отбирается только он;
- ОграниченныйПользователь - отбирается только он;
И, нужно, чтобы, те же пользователи не видели *Админов, и, например "ОбычныйЗамАдмина" не видел СтаршийЗамАдмина и Админов !

Никто не ограничен в запуске внешних обработок.
Запросом, с соответствующими условиями все это решается - все хорошо (как надо отбирается) .
Но есть одно "но" .
Если, например, РядовойПользователь, запустит внешнюю обработку, которая производит отбор, без условий, то есть ВСЕХ, элементов, то он увидит ВСЕХ пользователей.

Возможно, как-то ограничить, без ограничения запуска внешних обработок, что будет выдаваться в отбор, при запросе к этому справочнику, в зависимости от текущего пользователя ?

Что-то, вроде, события "ОбработкаПолученияДанныхВыбора" , возникающего перед "формированием списка при вводе по строке, автоподборе текста и быстром выборе" ...


IL2016

не пробовали добавить в параметры сеанса - параметр "текущий пользователь"? Подобно тому как реализовано в задачах на "Бизнес-процессы" на сертификацию спец по платформе.
пользователь входит в систему под своим логином, у этого пользователя своя роль и права доступа, далее привязать ваш запрос ...

oooo800

Цитата: IL2016 от 25 сен 2020, 14:45
не пробовали добавить в параметры сеанса - параметр "текущий пользователь"? Подобно тому как реализовано в задачах на "Бизнес-процессы" на сертификацию спец по платформе.
пользователь входит в систему под своим логином, у этого пользователя своя роль и права доступа, далее привязать ваш запрос ...
Не поверите, у мня так и сделано.
И запрос "отрабатывает" одним из условий кто нынче ТекущийПользователь.

Но остается возможность внешней обработки - стороннего запроса - простого запроса к справочник пользователи, без условий. Его имя узнать не сложно, соответственно, написать простой запрос тоже не сильно сложно, а он выдаст все.
В нем, как раз, не будет привязки к ограничениям текущего пользователя.
Или что-то не так понял ?


antoneus


oooo800

Цитата: antoneus от 25 сен 2020, 15:37
RLS?
С этим не работал.
Можете порекомендовать хорошие примеры ?

DmitriyF

Цитата: oooo800 от 25 сен 2020, 16:44
Цитата: antoneus от 25 сен 2020, 15:37
RLS?
С этим не работал.
Можете порекомендовать хорошие примеры ?
Было бы проще помочь, видя что Вы там понаписали.

antoneus

Цитировать
Можете порекомендовать хорошие примеры ?

Например.

IL2016

Цитата: oooo800 от 25 сен 2020, 15:34...остается возможность внешней обработки - стороннего запроса - простого запроса к справочник пользователи, без условий. Его имя узнать не сложно, соответственно, написать простой запрос тоже не сильно сложно, а он выдаст все.
В нем, как раз, не будет привязки к ограничениям текущего пользователя.
Эту лазейку надо пресечь. Внешняя обработка должна тоже иметь параметр ТекущийПользователь, система должна знать от кого запускается внешняя обработка, а мы поставим условие РАЗРЕШЕННЫЕ , или "РОЛЬ ДОСТУПНА" и т.п.


oooo800

Цитата: IL2016 от 26 сен 2020, 17:55
Цитата: oooo800 от 25 сен 2020, 15:34...остается возможность внешней обработки - стороннего запроса - простого запроса к справочник пользователи, без условий. Его имя узнать не сложно, соответственно, написать простой запрос тоже не сильно сложно, а он выдаст все.
В нем, как раз, не будет привязки к ограничениям текущего пользователя.
Эту лазейку надо пресечь. Внешняя обработка должна тоже иметь параметр ТекущийПользователь, система должна знать от кого запускается внешняя обработка, а мы поставим условие РАЗРЕШЕННЫЕ , или "РОЛЬ ДОСТУПНА" и т.п.
Совершенно согласен.
Над этим чуть позже буду работать.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск