【问题标题】:Create separate Django Admin sites and separate permissions创建单独的 Django 管理站点和单独的权限
【发布时间】:2015-06-26 14:19:16
【问题描述】:

在 Django 中,我将 AdminSite 类扩展为 UserAdminSite 类。但是有一个问题:任何有权访问 UserAdminSite 的管理员也将具有“is_staff = True”状态,因此可以访问整个网站的默认管理站点。如何区分这两个管理站点的访问权限?

【问题讨论】:

  • 那个管理员不是应该有完全访问权限吗?或许您应该考虑让那个 admin 成为员工,并使用组权限来区分谁可以访问任一站点。
  • UserAdminSite 的管理员应该只能访问用户和组管理,而默认管理站点的管理员可以访问该站点的所有模型。如何使用组权限来明确区分?
  • 简单地说,UserAdminSiteadmin 不是真正的 admin,而是在 @987654324 上拥有 UserAdminSite 权限的 staff @ 和 Groups.
  • 或者,您可以使用属性自定义 User 模型以区分它们在 UserAdminSiteboth 上的角色,也可以覆盖 is_superuser 以检查它们的角色。
  • 但是必须注意一个问题,如果staff 可以访问UserGroups,则可以更改自己的权限以获得完全访问权限。我认为更好的解决方案可能真的是编写自定义 UserManager 并实施替代方案

标签: python django


【解决方案1】:

在站点管理下:添加一个新的“组”;然后选择要授予分配给该组的任何用户的权限。

创建新组后,将用户分配到该组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    • 2019-08-28
    • 1970-01-01
    • 2018-10-13
    • 2019-07-03
    相关资源
    最近更新 更多