一個應用程式需要兩個用戶模型進行身份驗證。首先是具有姓名、電子郵件和密碼的 AUTH USER 模型,另一個是與 AUTH USER MODEL 具有外鍵關系的 Account 模型。PermissionsMixin 由帳戶模型繼承,因此所有組和權限都與其相關,而不是與 AUTH USER 模型相關。
所有其他模型和視圖都與 Accounts 模型相關聯。
使用 AUTH USER 模型完成一次用戶注冊。但是登錄應該發生在以下階段。
- 帶有電子郵件和密碼的 AUTH USER 模型的會話身份驗證將回傳會話 cookie。(說 auth cookie)。此 cookie 的唯一目的是記住用戶,直到他使用 Account 模型登錄并且不能用于訪問其他任何內容。
- 使用 auth cookie,用戶從與他的 AUTH USER 條目相關聯的帳戶表中獲取帳戶串列
- 用戶將 account_id 與 auth cookie 一起發送。
- 后端為該用戶帳戶回傳新的會話 cookie(比如帳戶 cookie),用戶將擁有與該帳戶關聯的所有權限。
問題:Django 會話框架僅針對 AUTH USER 模型進行身份驗證,那么如何為帳戶模型第二次創建帳戶會話和 cookie?如何使用多個會話表進行身份驗證?
uj5u.com熱心網友回復:
為什么不能在當前會話中設定 cookie?我不太明白需要多個會話。
您還可以根據需要擴展資料庫支持的會話:https : //docs.djangoproject.com/en/dev/topics/http/sessions/#extending-database-backed-session-engines
看看那里給出的例子。
uj5u.com熱心網友回復:
我同意之前的答案,我認為不需要多個會話,只要你有 2 個或一百個模型。您已經有一個會話物件,并且幾乎可以根據它檢查任何您想要的內容:選擇的帳戶、附加密碼、年齡確認以及通過混合或中間件限制訪問。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/359076.html
標籤:姜戈 会议 Django 休息框架 会话cookies Django会话
