【问题标题】:Django: User administration (create, change, delete) restricted to own groupDjango:用户管理(创建、更改、删​​除)仅限于自己的组
【发布时间】:2020-05-19 15:14:33
【问题描述】:

我有一个具有不同用户角色的 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

D:

  • m:n 关系表用于过滤显示的数据

【问题讨论】:

    标签: django authentication django-admin authorization


    【解决方案1】:

    我通过在 django-admin 之外创建一个用户管理应用程序解决了这个问题,其中用户根据他们的角色拥有权限。

    【讨论】:

      猜你喜欢
      • 2019-06-30
      • 1970-01-01
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 2013-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多