2016-12-02 136 views
2

我有一个网站正在Django上构建,以替换使用直接PHP构建的以前的自定义网站。如何以使用Django的其他用户身份登录?

该网站的建立使企业所有者可以注册一个主帐户并为其所有员工创建用户帐户。然后,主帐户可以显示其所有用户的列表,然后单击每个用户的某个按钮并以该用户身份登录 - 无需输入用户名或密码。

我们设置了几个cookie来声明当前用户现在是员工以及另一个告诉系统这仍然是主账户的cookie,因此顶部有一个新的按钮让用户点击它返回到他们之前的主账户会话。

我正在努力如何在Django中实现这一点。一切都是如此模块化,我不知道如何开始一个新帐户的会话,而不需要用户再次输入用户名和密码。

回答

0

您总是可以使用login方法来做到这一点。我的建议,但这似乎并不是最好的方法。通过更改主用户的会话,您无法知道用户是否是主用户,那么他如何获得回到主帐户的权限?

您应该坚持使用Cookie或浏览器的本地存储来存储当前用户,而不必更改其会话。然后,just define permissions用于您网站的操作,以便您的主用户有权访问所有操作,这显然包括他更改为的用户帐户的操作。

+0

如果您将用户存储在浏览器的本地存储中,则必须对cookie进行签名以防止篡改或检查每个请求是否允许该用户。您可以将当前用户以及主用户存储在会话中,该会话使用服务器端存储或在Cookie后端的情况下自动签署值。 – knbk

相关问题