繁体   English   中英

如何在Django中实现具有不同角色和权限的多种用户类型?

[英]How to implement multiple user types with different roles and permissions in Django?

我是使用Django框架和Python编程语言进行Web开发的新手,我的任务是制作一个实现以下目标的迷你项目:

  1. 权限管理;
  2. 角色管理;
  3. 用户帐户管理;
  4. 登录和注销;
  5. 重设密码。

我可以采取哪些适当的步骤来完成此任务?

我已经阅读了有关用户身份验证和权限以及自定义用户模型的信息,但是给出的示例没有我实际需要的复杂。 我必须设置一个实现多个用户帐户的应用程序,其中每个用户可以具有多个角色,并且每个角色具有不同的权限。 我知道Django具有内置功能来执行此操作,但是我想尽可能地进行自己的自定义。

我想知道是否创建扩展AbstractBaseUser的自定义用户模型是实现此目的的最佳选择。 另外,我想知道如何自定义Django内置管理页面,例如替换或删除不必要的字段。

除了扩展AbstractBaseUser以外,另一种解决方法是拥有另一个模型Profile并与OneToOneField关联,或者您可以从AbstractBaseUser继承3个不同的用户模型,这不是一个好主意,最好的答案是,如果默认身份验证后端和权限不对,则扩展AbstractBaseUser。不适合您的需求结帐(他们很可能会这样做!):

在Django中自定义身份验证

自定义用户和权限

还结帐:

django创建多个类型用户的最佳方法

如何使用Django实现多种用户类型

-更新-

并且如果您要使用其他权限组签出:

权限和授权

团体

django.contrib.auth.models.Group模型是对用户进行分类的通用方法,因此您可以向这些用户应用权限或其他标签。 用户可以属于任意数量的组。

组中的用户自动拥有授予该组的权限。 例如,如果站点编辑器组具有can_edit_home_page权限,则该组中的任何用户都将具有该权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM