Здравствуйте! Уже несколько раз сталкивался с необходимостью наделять пользователей дополнительными правами. Например, существует несколько различных групп пользователей с непересекающимися доступами. Иногда бывает необходимо наделить правами из двух или более различных групп. Сейчас приходится создавать новую группу и прописывать пользователя в неё. Возможность добавлять пользователя в несколько разных групп позволило бы, на мой взгляд, более тонко настраивать права доступа.
Пример из практики: у нас несколько подразделений. В зависимости от их штатного состава роль, например, бухгалтера и кассира выполняет либо одно лицо, либо два. Соответственно, если это два различных человека, то у них распределённые доступы по разделам. Если подразделение маленькое и роль бухгалтера и кассира выполняет один человек, то у него доступ к обоим разделам. Сейчас приходится создавать три группы - Бухгалтер, Кассир и Бухгалтер-кассир. Если можно было бы добавлять одного пользователя в две группы, было бы гораздо удобнее.
Набор прав для пользователей
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Набор прав для пользователей
Предложение отклоняется. Правила доступа из разных групп могут противоречить друг другу.
-
HetmanNet
- Сообщения: 62
- Зарегистрирован: 05 сен 2017, 15:36
- Имя: Anon Anon
- Откуда: Кременчук
- Организация: MasterMilk LLC
Re: Набор прав для пользователей
Если обрабатывать по принципу наложения:
Запрещено всем все
Позволяем то разрешено группе 1
Позволяем то разрешено группе 2
И т.д.
То есть наследуем только разрешения а не запреты.
Запрещено всем все
Позволяем то разрешено группе 1
Позволяем то разрешено группе 2
И т.д.
То есть наследуем только разрешения а не запреты.
Re: Набор прав для пользователей
простой пример. Есть сущность проект и подсущность задача. Есть роль руководитель проекта, который может создать задачу и есть роль исполнителя, которая позволяет только изменять задачу. Допустим у нас есть два проекта, следовательно и два пользователя - каждый из них руководитель своего проекта и одновременно исполнитель чужого проекта (Пользователь 1 есть руководителем Проекта 1 и исполнителем Проекта 2, соответственно Пользователь 2 есть руководителем Проекта 2 и исполнителем Проекта 1. У обеих пользователей роль руководитель с возможностью просматривать все в рамках назначенного им Проекта). Можно ли решить столь простую задачу существующим функционалом системы? Я не нашел способа решения данной задачи, поэтом предлагаю расширить функционал системы через присвоение бизнес правил для группы. Как это должно работать:
1. Создаем группу "Проект 1", и добавляем для группы набор правил исполнителя:
- для сущности Проект: Просмотр только назначенные; Обновить, стандартные отчеты
- для сущности Задача: Просмотр только назначенные; Обновить, стандартные отчеты.
2. Добавляем в эту группу Пользователя 2 с ролью Руководителя
3. Пользователь 1 назначает на Проект 1 группу "Проект 1" с ролью исполнителя.
4. Пользователь 1 создает задачу 1 и назначает на нее исполнителем группу "Проект 1"
Роли группы "Проект 1" нивелирую права роли руководителя, следовательно Пользователь 2 (руководитель Проекта 2) становится исполнителем Проекта 1 со всеми вытекающими последствиями...
Таким образом получается, что один пользователь может иметь две или более функциональных ролей в рамках нескольких проектов.
Насколько сложно такое реализовать?
1. Создаем группу "Проект 1", и добавляем для группы набор правил исполнителя:
- для сущности Проект: Просмотр только назначенные; Обновить, стандартные отчеты
- для сущности Задача: Просмотр только назначенные; Обновить, стандартные отчеты.
2. Добавляем в эту группу Пользователя 2 с ролью Руководителя
3. Пользователь 1 назначает на Проект 1 группу "Проект 1" с ролью исполнителя.
4. Пользователь 1 создает задачу 1 и назначает на нее исполнителем группу "Проект 1"
Роли группы "Проект 1" нивелирую права роли руководителя, следовательно Пользователь 2 (руководитель Проекта 2) становится исполнителем Проекта 1 со всеми вытекающими последствиями...
Таким образом получается, что один пользователь может иметь две или более функциональных ролей в рамках нескольких проектов.
Насколько сложно такое реализовать?
- support
- Техническая поддержка
- Сообщения: 7661
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Набор прав для пользователей
Роли пользователей в проекте и Группы пользователей - это разные вещи. Сами роли реализовать можно, но пока эту возможность особо никто не спрашивал и так как это не тривиальная задача, то пока в планах нет.
