2016-12-02 180 views
2

我有一個網站正在Django上構建,以替換使用直接PHP構建的以前的自定義網站。如何以使用Django的其他用戶身份登錄?

該網站的建立使企業所有者可以註冊一個主帳戶併爲其所有員工創建用戶帳戶。然後,主帳戶可以顯示其所有用戶的列表,然後單擊每個用戶的某個按鈕並以該用戶身份登錄 - 無需輸入用戶名或密碼。

我們設置了幾個cookie來聲明當前用戶現在是員工以及另一個告訴系統這仍然是主賬戶的cookie,因此頂部有一個新的按鈕讓用戶點擊它返回到他們之前的主賬戶會話。

我正在努力如何在Django中實現這一點。一切都是如此模塊化,我不知道如何開始一個新帳戶的會話,而不需要用戶再次輸入用戶名和密碼。

回答

0

您總是可以使用login方法來做到這一點。我的建議,但這似乎並不是最好的方法。通過更改主用戶的會話,您無法知道用戶是否是主用戶,那麼他如何獲得回到主帳戶的權限?

您應該堅持使用Cookie或瀏覽器的本地存儲來存儲當前用戶,而不必更改其會話。然後,just define permissions用於您網站的操作,以便您的主用戶有權訪問所有操作,這顯然包括他更改爲的用戶帳戶的操作。

+0

如果您將用戶存儲在瀏覽器的本地存儲中,則必須對cookie進行簽名以防止篡改或檢查每個請求是否允許該用戶。您可以將當前用戶以及主用戶存儲在會話中,該會話使用服務器端存儲或在Cookie後端的情況下自動簽署值。 – knbk

相關問題