Django предоставляет права пользователям по компаниям

В моем случае у меня есть разные пользователи, которые могут быть частью разных компаний. Пользователь может принадлежать к нескольким компаниям, а компания имеет несколько клиентов, продуктов, услуг, ...

Теперь я хочу, чтобы пользователь мог иметь различные разрешения для каждой компании. Допустим, пользователь X может управлять клиентами в компании A, но может только читать продукты и услуги. А пользователь X может управлять пользователями, продуктами и услугами в компании B.

Я хотел бы работать с ролями: так, управлять всем будет роль "superadmin", а управлять клиентами, но читать продукты и услуги будет роль "sales", например.

Короче говоря: я хочу создать роли, которым я могу назначить разрешения, а затем добавить эти роли пользователям в каждой компании.

Я планирую использовать rsinger86/drf-access-policy для управления контролем доступа, но любые предложения приветствуются.

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

Заранее спасибо!

Вернуться на верх