簡體   English   中英

如何在Django中實現具有不同角色和權限的多種用戶類型?

[英]How to implement multiple user types with different roles and permissions in Django?

我是使用Django框架和Python編程語言進行Web開發的新手,我的任務是制作一個實現以下目標的迷你項目:

  1. 權限管理;
  2. 角色管理;
  3. 用戶帳戶管理;
  4. 登錄和注銷;
  5. 重設密碼。

我可以采取哪些適當的步驟來完成此任務?

我已經閱讀了有關用戶身份驗證和權限以及自定義用戶模型的信息,但是給出的示例沒有我實際需要的復雜。 我必須設置一個實現多個用戶帳戶的應用程序,其中每個用戶可以具有多個角色,並且每個角色具有不同的權限。 我知道Django具有內置功能來執行此操作,但是我想盡可能地進行自己的自定義。

我想知道是否創建擴展AbstractBaseUser的自定義用戶模型是實現此目的的最佳選擇。 另外,我想知道如何自定義Django內置管理頁面,例如替換或刪除不必要的字段。

除了擴展AbstractBaseUser以外,另一種解決方法是擁有另一個模型Profile並與OneToOneField關聯,或者您可以從AbstractBaseUser繼承3個不同的用戶模型,這不是一個好主意,最好的答案是,如果默認身份驗證后端和權限不對,則擴展AbstractBaseUser。不適合您的需求結帳(他們很可能會這樣做!):

在Django中自定義身份驗證

自定義用戶和權限

還結帳:

django創建多個類型用戶的最佳方法

如何使用Django實現多種用戶類型

-更新-

並且如果您要使用其他權限組簽出:

權限和授權

團體

django.contrib.auth.models.Group模型是對用戶進行分類的通用方法,因此您可以向這些用戶應用權限或其他標簽。 用戶可以屬於任意數量的組。

組中的用戶自動擁有授予該組的權限。 例如,如果站點編輯器組具有can_edit_home_page權限,則該組中的任何用戶都將具有該權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM