【用戶管理與權限 - 篇一】后端基礎:用戶列表與角色模型的初步構建
- 前言
- 準備工作
- 第一部分:回顧 Django 內置的 `User` 模型
- 第二部分:設計并創建 `Role` 和 `UserProfile` 模型
- 第三部分:創建 Serializers
- 第四部分:創建 ViewSets
- 第五部分:注冊 API 路由
- 第六部分:后端初步測試
- 總結
前言
在上一篇《【用戶認證】安全第一步:基于 JWT 的前后端分離認證方案》中,我們成功地為測試平臺集成了用戶注冊和登錄功能,并通過 JWT 保護了我們的 API,使用戶可以安全地訪問平臺了。但是,一個成熟的系統通常還需要對用戶進行管理,并根據用戶的不同職責賦予不同的操作權限。
這篇文章,我們將聚焦于后端基礎的搭建:
- 回顧并利用 Django 內置的
User
模型。 - 設計并創建一個自定義的
Role
(角色) 模型。 - 創建
UserProfile
模型,將其與User
模型一對一關聯,并在UserProfile
上建立與Role
模型的多對多關聯。 - 創建相應的 Serializer 和 ViewSet,提供用戶列表和角色管理的基礎 API。
為什么需要角色 (Role)?
直接給每個用戶單獨分配權限會非常繁瑣且難以維護。通過引入“角色”的概念,我們可以:
- 將一系列相關的權限打包成一個角色 (例如,“測試工程師”、“項目經理”、“管理員”)。
- 然后將角色分配給用戶。