@wtfedor
Предприниматель, python разработчик.

Как контролировать права при работе с Моделями БД?

Приветсвую!
- - -
Сначала напишу примерный код того, что я хочу.
# ставим условие, что внутри контекста мы можем только читать MyModel,
# в остальных случаях работы с БД должна возникать ошибка
with permissions(MyModel, 'read'):
    mm = MyModel.objects.get()  # работает
    mm.atribute = 123
    mm.save()  # ошибка, тк нет разрешения на запись
    MyModel.objects.create()  # ошибка, тк нет разрешения на создание
    OtherModel.objects.get()  # ошибка, тк другая модель

Проблема в том, что в моём проекте будет выполняться функция, содержание которой я не знаю.
Мне необходимо как-то подстраховаться.
Оставить ей права на доступ к паре таблиц, и ограничить доступ ко всем другим таблицам БД.
- - -
Я нашёл библиотеку решающую этот вопрос:
https://github.com/pgorecki/django-cancan
Но она совсем не популярна, боюсь интегрировать её в прод.
- - -
Если есть решение на базе прав Юзеров, то супер.
- - -
Спасибо!
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы