Страница 1 из 1

Набор прав для пользователей

Добавлено: 20 июн 2018, 11:30
$Expert
Здравствуйте! Уже несколько раз сталкивался с необходимостью наделять пользователей дополнительными правами. Например, существует несколько различных групп пользователей с непересекающимися доступами. Иногда бывает необходимо наделить правами из двух или более различных групп. Сейчас приходится создавать новую группу и прописывать пользователя в неё. Возможность добавлять пользователя в несколько разных групп позволило бы, на мой взгляд, более тонко настраивать права доступа.

Пример из практики: у нас несколько подразделений. В зависимости от их штатного состава роль, например, бухгалтера и кассира выполняет либо одно лицо, либо два. Соответственно, если это два различных человека, то у них распределённые доступы по разделам. Если подразделение маленькое и роль бухгалтера и кассира выполняет один человек, то у него доступ к обоим разделам. Сейчас приходится создавать три группы - Бухгалтер, Кассир и Бухгалтер-кассир. Если можно было бы добавлять одного пользователя в две группы, было бы гораздо удобнее.

Re: Набор прав для пользователей

Добавлено: 20 июн 2018, 12:12
support
Предложение отклоняется. Правила доступа из разных групп могут противоречить друг другу.

Re: Набор прав для пользователей

Добавлено: 20 июн 2018, 12:21
HetmanNet
Если обрабатывать по принципу наложения:
Запрещено всем все
Позволяем то разрешено группе 1
Позволяем то разрешено группе 2
И т.д.

То есть наследуем только разрешения а не запреты.

Re: Набор прав для пользователей

Добавлено: 21 июн 2018, 15:58
masyok
простой пример. Есть сущность проект и подсущность задача. Есть роль руководитель проекта, который может создать задачу и есть роль исполнителя, которая позволяет только изменять задачу. Допустим у нас есть два проекта, следовательно и два пользователя - каждый из них руководитель своего проекта и одновременно исполнитель чужого проекта (Пользователь 1 есть руководителем Проекта 1 и исполнителем Проекта 2, соответственно Пользователь 2 есть руководителем Проекта 2 и исполнителем Проекта 1. У обеих пользователей роль руководитель с возможностью просматривать все в рамках назначенного им Проекта). Можно ли решить столь простую задачу существующим функционалом системы? Я не нашел способа решения данной задачи, поэтом предлагаю расширить функционал системы через присвоение бизнес правил для группы. Как это должно работать:
1. Создаем группу "Проект 1", и добавляем для группы набор правил исполнителя:
- для сущности Проект: Просмотр только назначенные; Обновить, стандартные отчеты
- для сущности Задача: Просмотр только назначенные; Обновить, стандартные отчеты.
2. Добавляем в эту группу Пользователя 2 с ролью Руководителя
3. Пользователь 1 назначает на Проект 1 группу "Проект 1" с ролью исполнителя.
4. Пользователь 1 создает задачу 1 и назначает на нее исполнителем группу "Проект 1"
Роли группы "Проект 1" нивелирую права роли руководителя, следовательно Пользователь 2 (руководитель Проекта 2) становится исполнителем Проекта 1 со всеми вытекающими последствиями...

Таким образом получается, что один пользователь может иметь две или более функциональных ролей в рамках нескольких проектов.

Насколько сложно такое реализовать?

Re: Набор прав для пользователей

Добавлено: 21 июн 2018, 17:47
support
Роли пользователей в проекте и Группы пользователей - это разные вещи. Сами роли реализовать можно, но пока эту возможность особо никто не спрашивал и так как это не тривиальная задача, то пока в планах нет.