【发布时间】:2021-12-23 21:33:18
【问题描述】:
应用程序需要两个用户模型进行身份验证。第一个是 AUTH USER 模型,它有姓名、电子邮件和密码,另一个是 Account 模型,它与 AUTH USER MODEL 有外键关系。 PermissionsMixin 是由 account 模型继承的,所以所有的组和权限都与它相关,而不是与 AUTH USER 模型相关。
所有其他模型和视图都与 Accounts 模型相关联。
使用 AUTH USER 模型完成一次用户注册。但是登录应该在以下阶段发生。
- 使用电子邮件和密码的 AUTH USER 模型的会话身份验证将返回会话 cookie。 (比如说身份验证cookie)。此 cookie 的唯一目的是记住用户,直到他使用帐户模型登录,并且不能用于访问其他任何内容。
- 使用 auth cookie,用户从与他的 AUTH USER 条目关联的帐户表中获取帐户列表
- 用户将 account_id 与身份验证 cookie 一起发送。
- 后端为该用户帐户返回新的会话 cookie(例如帐户 cookie),并且用户将拥有与该帐户关联的所有权限。
问题:Django 会话框架仅针对 AUTH USER 模型进行身份验证,那么如何为帐户模型第二次创建帐户会话和 cookie?如何拥有多个会话表进行身份验证?
【问题讨论】:
标签: django session django-rest-framework session-cookies django-sessions