2016-10-29 60 views
0

我已經創建了一個自定義用戶模型(AbstractBaseUser),以便用戶可以登錄到我的網站。Django的自定義用戶模式登錄系統

的問題是,我想用Django默認的用戶和認證系統管理員保留,使工作人員可以很容易地登錄並管理的東西。

我看到很多教程,但所有的指示改變設置AUTH_USER_MODEL,但如果我改變,我將無法繼續使用Django的默認用戶。

有沒有解決方案?

在此先感謝。

回答

0

我從來沒有這個實現自己,而是要你指出正確的方向,它可能是值得擁有的,通過這樣的閱讀:

https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#authentication-backends

通過對事物的聲音,你可以寫用於前端用戶模型的認證後端,您可以與Django的認證系統一起運行。

如果你能得到這個工作,我會想象你將不得不確保前端用戶模型,一旦通過驗證,無法訪問該網站的管理部分。

對我來說,百萬美元的問題在這裏,你爲什麼要保留前端和後端的用戶在不同的模式?他們都有同樣的工作,以驗證用戶?

我已經創建了幾個項目,過去有前端用戶和管理員用戶。開箱即用,無需任何修改,即可爲管理員用戶設置用戶屬性is_staff=False,前端用戶和is_staff=True;這決定了用戶是否可以訪問該網站的管理員部分,而且我從來沒有遇到過這種方法的任何問題。

如果前端用戶(或後端用戶)想要額外的功能,最簡單的解決辦法是延長用戶模型:

https://docs.djangoproject.com/en/1.10/topics/auth/customizing/#extending-the-existing-user-model

或者,也可以用戶您可以創建一個自定義的用戶模型,兩者都使用它。

如果你願意提供更多的細節,也許我可以進一步幫助,但除非有具有單獨的用戶模型一個強有力的理由,我只是堅持使用一個配置和擴展,因爲你需要。

我希望這會有所幫助。

相關問題