如何在Django中向用户权限添加更多功能?

时间:2020-04-22 20:15:13

标签: django django-authentication django-permissions django-custom-user

我是django的新手。我想编辑默认用户auth_permissions。更确切地说,除了“标签”,“代码”功能外,我还想向不同的权限类型(例如强,中等等)添加一个整数字段。到目前为止,我找不到这样的东西。我试图设置自定义权限,但是无法将其添加到权限数据库中。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

Per Object permission

当我第一次进入django时,我还尝试依赖django中的权限框架,我还发现权限太宽泛且效率低下,这导致我不得不研究 django-guardian ,他们说,对Django项目本身进行编辑以获取更多基于对象的权限,但没有成功,因为每个对象的权限对于框架而言过于个性化。

问题是,进入行业后,我意识到人们是如何在行业中获得这些权限的(老实说,这让我感到烦恼),他们主要创建自定义登录中间件来跟踪身份验证类型并添加检查在视图本身上。因此,基本上,您将必须在视图中检查用户的身份,以及是否要授予他们任何权限。

在麻省理工学院时,他们不断问我一些奇怪的权限,并创建了一个名为ExtraordinaryPermissions的表,该表具有用户的ForeignKey,可用于在视图中检查用户可以访问哪些对象

这很麻烦,但是在行业中按对象权限是通过这种方式处理的

祝你好运