Я разработал собственную RBAC system
для своего Django приложения. В отличие от оригинальной Django на основе ролей, в которой используются только таблицы permissions
, content_types
, groups
и users
, я разработал мою так, чтобы она включала модель для определенной operations
(то есть read, write, print
), objects
(то есть Post, Events, Documents
), roles
(Writer Level 1, Events Manager
) и необходимые отношения, т.е. моя собственная таблица разрешений, которая принимает object reference
и соответствующий operation reference
(то есть Post | add
).
Моя проблема сейчас в том, что я не совсем уверен, как реализовать это в DRF
. Когда я использую permission_class = (DjangoObjectPermissions,)
и кто-то отправляет запрос 'POST' в модель / таблицу Post
, мы все знаем, что Django проверит, имеет ли пользователь разрешение Can add post
. Я тоже хочу это сделать, но хочу, чтобы Django ссылался на мои модели / таблицы RBA C.
Я хочу написать свои собственные классы разрешений в моем permissions.py
, но мне может понадобиться немного подсказка о том, как это реализовать.
Я читал, что вы можете создавать собственные разрешения , но я не уверен, что это также означает, что вы можете использовать собственные таблицы RBA C с ним .