Большое изменение в Odoo 19.4
Права доступа были упрощены за счет удаления «правил записи» и добавления домена непосредственно на уровне прав доступа для определения, к каким записям применяется право. Odoo
Конкретно, раньше (V19.0) безопасность работала на 2 отдельных уровнях :
Уровень 1 — ACL (Списки управления доступом) : CSV-файл, который говорил «эта группа может читать/писать/создавать/удалять на этой модели» — но для ВСЕХ записей модели.
Уровень 2 — Правила записи (ir.rule) : отдельные XML-правила, которые затем фильтровали, КАКИЕ конкретные записи пользователь мог видеть (например, «только свои собственные заказы»).
В 19.4, Odoo объединяет оба: домен фильтрации непосредственно интегрирован в право доступа. Больше не нужно настраивать правила записи отдельно.
Как работает управление группами (актуально для V19 + 19.4)
Вот ключевые концепции, объясненные просто :
Пользователи — каждое лицо, которое подключается к Odoo. Им назначаются разрешения через их профиль (Настройки → Управление пользователями → выбрать пользователя → вкладка «Права доступа»).
Группы — это «роли» по приложению. Группы представляют собой наборы разрешений, специфичных для каждого приложения, используемые для управления правами доступа, общими для большого числа пользователей. Например, в приложении Продажи: «Пользователь: собственные документы», «Пользователь: все документы», «Ответственный». Каждый уровень предоставляет больше прав. Odoo
Наследование между группами (implied_ids) — группа может «наследовать» другую. Например, группа «Ответственный за продажи» автоматически включает права группы «Пользователь продаж». Это позволяет избежать двойной настройки. Разрешения, отмеченные зеленым, уже предоставлены другим разрешением, а те, что отмечены красным, находятся в конфликте и не могут быть активны одновременно. Odoo
Категории — группы организованы по приложениям (Продажи, Закупки, Бухгалтерия и т.д.). Когда вы открываете вкладку «Права доступа» пользователя, вы видите каждое приложение с выпадающим меню для выбора уровня.
Как настроить права на практике
Для обычного пользователя : перейдите в Настройки → Управление пользователями → выберите пользователя → вкладка «Права доступа». Для каждого приложения выберите уровень (нет доступа, пользователь, ответственный и т.д.).
Чтобы углубиться (режим разработчика) : активируйте режим разработчика (Настройки → внизу → «Включить режим разработчика»). Затем вы можете получить доступ к Настройки → Технические → Безопасность → Группы, где вы видите каждую группу с ее участниками, правами доступа (CRUD по модели), и теперь в 19.4, домены, непосредственно интегрированные.
Правило объединения : если пользователь принадлежит к нескольким группам, Odoo предоставляет объединение всех разрешений — если группа дает доступ на запись, пользователь может писать. Odoo Skillz
Резюме До / После
| V19.0 | V19.4 | |
|---|---|---|
| Кто может делать что с какой моделью | ACL (CSV файл) | Права доступа (без изменений) |
| Какие конкретные записи | Отдельные правила записи (ir.rule в XML) | Домен, встроенный непосредственно в права доступа |
| Сложность | 2 места для настройки | 1 единственное место |
Цель Odoo с этим изменением — сделать безопасность более интуитивной: вместо того чтобы jongler между ACL и правилами записи, все управляется в одном месте. Это особенно выгодно для разработчиков и интеграторов, которые создают пользовательские модули.