为具有附加模型的Django用户添加权限
我将要创建一个内部网站,这个网站会有多个角色,比如客户员工、客户管理员和工作人员团队成员。每个角色都会有一个模型,这个模型通过一对一或外键字段与用户关联,并且会有一些自定义字段。我希望每个角色都有自己的一套权限,就像一个小组一样。
我该如何在我的应用程序中存储这些权限呢?看起来小组的定义是作为 contrib.admin 应用的一部分,而不是在代码中。我在文档中找不到关于如何定义小组的任何信息。
处理模型级别的权限有什么好的方法吗?也许我可以在模型中检查一下,看看用户是否拥有正确的角色模型。
1 个回答
1
访问控制列表有点复杂(有些人甚至说它已经过时了),但Django提供了一个不错的默认实现,位于contrib.auth
中,里面包含了:
- 用户
- 权限:这是一个简单的二元标志(是/否),用来表示一个用户是否可以执行某个特定的任务。
- 组:这是一个通用的方法,可以将标签和权限应用到多个用户上。
如果想要更详细的介绍,可以查看这里: