Паттерны настройки прав¶
Справочник практических паттернов по правам доступа, извлечённых из курсов «Администратор» (Basic) и «Администратор Pro».
1. Права на категории: выдаются группам¶
Ключевое правило¶
Права на категорию выдаются только группам. Не пользователям напрямую, не орг.единицам.
Чтобы выдать права конкретному пользователю -- создать для него индивидуальную группу.
Порядок выдачи¶
- Категория > Доступ > По группам.
- Найти группу через поиск.
- Выбрать группу > отметить права в блоке «Права».
- Сохранить (иконка дискеты).
Удаление доступа¶
Два способа: - Из настроек категории: Доступ > По группам > выбрать группу > «Удалить группу». - Из настроек группы: Доступ на категории > выбрать категорию > снять все отметки в блоке «Действия».
Практические рекомендации¶
- Сразу выдать права группе Administrators -- иначе не увидите результат настроек в UI.
- Не выдавать права группе «Все пользователи» -- замедляет работу системы.
2. Связанные группы и автоматическое обновление¶
Связанные группы (организационные)¶
Группа, привязанная к орг.единице. Участники добавляются автоматически на основании принадлежности к орг.единице. Вручную добавить пользователя нельзя. Удалить пользователя из такой группы тоже нельзя.
Создание¶
- Открыть карточку орг.единицы > убедиться что в «Связанная группа» выбрано «(Создать новую)» > нажать «Связать с группой».
- Для целой ветки: «Создать группу для всей ветки» -- создаст связанные группы для текущей орг.единицы и всех подчинённых.
Автоматическое обновление через вложенность¶
Родительская группа обновляется автоматически при изменениях во вложенных группах.
Пример: в группу «Все руководители» добавлены вложенные группы руководителей подразделений. Если в отделе продаж сменится руководитель, он автоматически попадёт в группу «Все руководители».
При изменении орг.структуры¶
При добавлении новой орг.единицы обязательно создать для неё связанную группу. Иначе невозможно будет выдать доступы пользователям этой орг.единицы.
3. Доступ к ДП -- уровни и механизмы¶
Четыре режима доступа к ДП¶
| Режим | Где задаётся | Что контролирует |
|---|---|---|
| По задаче | Настройки ДП в категории > Доступ = «По задаче» | Стандартный доступ, без ограничений по группам |
| Только по группам | Настройки ДП > Доступ = «Только по группам» | Чтение и/или редактирование -- конкретным группам |
| По матрице доступа | Настройки ДП > Доступ = «По матрице доступа» | Группа + роль + статус = чтение/редактирование/скрыто |
| Доступ зависит от статуса | Настройки ДП в категории | Чтение/редактирование по конкретным статусам |
Матрица доступа -- детали¶
- Добавить группу, роль или право в категории.
- По умолчанию на всех статусах -- доступ на чтение (значок глаза).
- Клик: глаз (чтение) > карандаш (редактирование) > пустое поле (нет доступа).
Обязательность ДП на переходе¶
Настраивается в маршруте: выбрать переход > вкладка «Доп.параметры» > выбрать ДП. Если ДП не заполнен -- система не позволит выполнить переход.
4. Гибкие права на задачи¶
Назначение¶
Гибкие права дают доступ к конкретным задачам (не ко всем задачам категории) на основании данных в самой задаче. Дают только право просмотра.
Три режима¶
| Режим | Логика |
|---|---|
| Flat | ДП типа «Выбор пользователя» находится в той же категории, на задачи которой настраиваются права |
| Lookup | ДП Lookup в текущей категории ведёт на категорию-источник, где есть ДП «Выбор пользователя» с указанным пользователем |
| Multilookup | Аналогично Lookup, но через Multilookup |
Ограничение: только ДП «Выбор пользователя»¶
Гибкие права могут брать значение только из ДП «Выбор пользователя». В этом ДП допустимы пользователи и группы. Орг.единицы недопустимы.
Паттерн: гибкие права на основе выпадающего списка¶
Если доступ зависит от значения ДП типа «Выпадающий список» (например, «Тип лида»):
- Создать скрытое вспомогательное ДП типа «Выбор пользователя».
- Настроить автоматизацию (смарт «После постановки»): заполнить вспомогательное ДП нужным пользователем в зависимости от значения выпадающего списка.
- Настроить гибкое право в режиме Flat на вспомогательное ДП.
Важно: гибкие права + права категории¶
Гибкие права дают только просмотр. Для других действий (редактирование, комментирование и т.д.) нужно дополнительно настроить права в категории для соответствующей группы, кроме права «Просмотр всех задач».
Если ранее выдавались временные доступы по группам на просмотр -- отозвать их после настройки гибких прав.
5. Доступ к ДП через SQL¶
SQL-функция для доступа к ДП¶
Для управления доступом к ДП можно написать SQL-функцию. Функция вызывается системой при отображении ДП.
Возвращаемые значения¶
SQL-функция для доступа к ДП может вернуть только одно значение:
| Значение | Результат |
|---|---|
NULL или 0 |
Нет прав, ДП скрыто |
1 |
Только чтение (без редактирования) |
2 |
Чтение и редактирование |
Факты из теста (Pro)¶
- Функция возвращает ровно одно значение (не набор).
- Возврат
1= только чтение, без возможности редактирования.
6. Переопределение доступа на переходах маршрута¶
Контроль видимости кнопок перехода¶
В настройках перехода (Дизайнер маршрута > нажать на стрелку перехода) доступен блок «Переопределение доступа»:
- Снять видимость по умолчанию.
- Указать конкретные роли (заказчик, исполнитель) или группы, которым кнопка перехода будет доступна.
- Галочка «Кнопка скрыта» -- полностью скрывает переход.
Практика¶
Используется для разделения прав на движение задачи по маршруту. Например: кнопку «Согласовано» видит только руководитель, кнопку «Отправить на доработку» -- только исполнитель.
7. Системные группы -- ограничения¶
Запрещено¶
- Удалять системные группы: «Все пользователи», «Users», «Administrators».
- Удалять учётные записи
support,systemrobot,anonymousили менять их настройки. - Удалять учётную запись из группы Administrators -- пользователь потеряет доступ к администрированию.
- Удалять пользователей из связанных групп (привязанных к орг.единицам).