django - Django:用户管理(创建、更改、删除)仅限于自己的组
问题描述
我有一个具有不同用户角色的 django 应用程序。根据角色不同的内容可用:
class User(AbstractUser):
is_appadmin = models.BooleanField(default=False)
is_appuser = models.BooleanField(default=False)
is_someuser = models.BooleanField(default=False)
应该使用相同的角色进行管理。特别是应该有可能每个 D 的值有一个“管理员”(A)来创建/编辑/删除用户配置文件,但没有超级用户权限并且没有显示 D 的其他值的用户。
我尝试使用 django-admin 界面来实现这一点。一旦允许创建用户,这些本地管理员就可以为自己分配“is_superuser”。
实现这一目标的最简单方法是什么?
角色A:
- 创建、更改和删除具有相同 D 值的 B 的用户
- 将用户 C 添加到同一组 D (m:n)
- 创建新用户 C
- 访问管理界面
角色 B + C:
- 更改自己的用户配置文件
- 不一定能访问管理界面
角色C:
- 可能属于不同的D
丁:
- m:n 关系表用于过滤显示的数据
解决方案
除了 django-admin 之外,我还通过创建用户管理应用程序解决了这个问题,其中用户根据他们的角色拥有权限。
推荐阅读
- gwt - GWT 2.9 是否有支持的 gwtquery 版本或替代版本?
- linux-kernel - 哪些网络系统调用会导致 VM 退出到 Intel VMX 中的 Hypervisor?
- python - 如何将一个字典中的给定键从另一个字典中提取到新字典中(Python)
- javascript - GitHub 页面找不到图像和 JavaScript 文件
- react-native - 如何在 React-Native 中使用已经扫描的二维码?
- asp.net-core - 单个请求的 InputFormatter
- php - Laravel 应用程序需要超过 2s 来启动任何页面
- javascript - 如何通过 react-share 共享动态生成的图像?
- go - cgo 在 cgo 标头中写了 func 来打印数据,但没有打印任何内容
- haskell - Haskell - 在显示 2 次幂的函数中过滤赔率