首页 > 解决方案 > 如何在 django 中为用户权限添加更多功能?

问题描述

我是 Django 的新手。我想编辑默认用户 auth_permissions。更准确地说,除了“标签”、“代码”功能之外,我还想为不同的权限类型(如强、中等)添加一个整数字段。到目前为止,我找不到这样的东西。我尝试创建自定义权限,但无法将它们添加到权限数据库。任何人都可以帮助我吗?

标签: djangodjango-authenticationdjango-permissionsdjango-custom-user

解决方案


按对象权限

当我第一次接触 django 时,我也尝试过依赖 django 中的权限框架,我也发现权限太宽泛且效率低下,这导致我研究django-guardian,我尝试向 Django 项目本身提交一个编辑来制作更多的基于对象的权限没有成功,他们说每个对象的权限对于框架来说太个性化了。

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

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

这很麻烦,但是在行业中是这样传递按对象权限的

祝你好运


推荐阅读