首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Django中实现具有不同角色和权限的多个用户类型?

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

Stack Overflow用户
提问于 2019-08-15 08:59:42
回答 1查看 9.2K关注 0票数 1

我是使用Django框架和Python编程语言进行web开发的新手,我的任务是创建一个实现以下功能的小型项目:

  1. 权限管理;
  2. 角色管理;
  3. 用户账户管理;
  4. 登入及注销;及
  5. 密码重置。

对我来说,有哪些适当的步骤来完成这个任务?

我读过关于用户身份验证和权限以及自定义用户模型的文章,但是给出的示例并不比我实际需要的更复杂。我必须设置一个实现多个用户帐户的应用程序,其中每个用户可以有多个角色,每个角色具有不同的权限。我知道Django有内置的函数来实现这一点,但是我想尽可能地进行我自己的定制。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-15 09:20:29

除了扩展AbstractBaseUser之外,另一个解决方法是拥有另一个模型配置文件并与OneToOneField相关联,或者您可以从AbstractBaseUser继承3种不同的用户模型,这不是一个好主意,最好的解决方法是扩展AbstractBaseUser,如果默认身份验证后端和遗漏不适合您的需要签出(他们很可能会这样做!):

在Django中定制身份验证

自定义用户和权限

同时结帐:

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

如何用Django实现多个用户类型

-更新--

如果您想让不同的权限组结帐:

权限和授权

群组

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

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57507250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档