【发布时间】:2017-07-05 10:16:19
【问题描述】:
我需要某些用户编辑django.contrib.auth.models.User 对象。
我的第一个想法是授予他们auth | User | Can change user 权限并将他们标记为is staff,这样他们就可以登录到 Django 管理站点。但问题是,他们可以用它来让自己成为超级管理员。
由于我希望他们只能编辑某些字段,因此我为此创建了一个非常有限的视图。剩下要做的就是将对该视图的权限实际授予该用户子集。我发现的唯一解决方案是仍然授予他们auth | User | Can change user 权限(而不是让他们staff)。
我的问题是这样的:
如果我在该视图上使用 @permission_required 装饰器并与 auth | User | Can change user 权限合作,用户是否有任何其他方式可以破解自己的超级管理员角色(即使假设用户是高级Django 程序员)?我说的是e之类的东西。 G。我不知道或类似的 API 调用。
我想将我的代码中可能出现的错误排除在此处的范围之外。
【问题讨论】:
标签: django django-authentication django-1.11