【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
- 前言
- 准备工作
- 第一部分:回顾 Django 内置的 `User` 模型
- 第二部分:设计并创建 `Role` 和 `UserProfile` 模型
- 第三部分:创建 Serializers
- 第四部分:创建 ViewSets
- 第五部分:注册 API 路由
- 第六部分:后端初步测试
- 总结
前言
在上一篇《【用户认证】安全第一步:基于 JWT 的前后端分离认证方案》中,我们成功地为测试平台集成了用户注册和登录功能,并通过 JWT 保护了我们的 API,使用户可以安全地访问平台了。但是,一个成熟的系统通常还需要对用户进行管理,并根据用户的不同职责赋予不同的操作权限。
这篇文章,我们将聚焦于后端基础的搭建:
- 回顾并利用 Django 内置的
User
模型。 - 设计并创建一个自定义的
Role
(角色) 模型。 - 创建
UserProfile
模型,将其与User
模型一对一关联,并在UserProfile
上建立与Role
模型的多对多关联。 - 创建相应的 Serializer 和 ViewSet,提供用户列表和角色管理的基础 API。
为什么需要角色 (Role)?
直接给每个用户单独分配权限会非常繁琐且难以维护。通过引入“角色”的概念,我们可以:
- 将一系列相关的权限打包成一个角色 (例如,“测试工程师”、“项目经理”、“管理员”)。
- 然后将角色分配给用户。