在没有表的情况下为Django模型添加权限

时间:2017-04-04 03:55:43

标签: django django-rest-framework rbac

我正在开发基于 Django Rest Framework 的项目(对于某些网络应用而言非常期待的API)。它具有传统的Django模型和某种类似模型的对象:它们的行为类似于Django模型,但不会在DB中存储任何内容。没有表,没有内容类型。当我们向他们询问对象时,他们会转到外部API并形成结果Queryset。

现在我需要构建一些基于角色的访问系统。为了使架构清晰可扩展,我希望通过Django Admin界面使组和权限可管理。所以,我想,我们需要为数据库添加一些权限,然后我们就可以将这些权限添加到用户组。之后,我们会在DRF.permissions课程中检查这些权限。但由于我们既没有表格,也没有这些模型的内容类型,我们现在无法在权限表中添加记录。

使这成为可能的正确方法是什么?我应该重建这些模型吗?通过proxy = True的元类?或者我应该在上面添加代理层?也许我应该手工添加一些虚拟内容类型?

1 个答案:

答案 0 :(得分:0)

您应该检查此项目https://github.com/dfunckt/django-rules 它在不使用数据库的情况下提供了强大的权限系统。