Django:两种类型的用户同时登录

Posted

技术标签:

【中文标题】Django:两种类型的用户同时登录【英文标题】:Django: Two types of users logged in at same time 【发布时间】:2018-01-16 08:51:51 【问题描述】:

我在 Django 中有两个应用程序(一个用于管理员,一个用于普通用户)。我想允许管理员用户登录管理面板并以普通用户身份登录主页(两个不同的用户具有不同的凭据)。

我知道会话保存为 cookie,所以我最好的猜测是我必须在每个应用程序中使用不同的 SESSION_COOKIE_NAME,但我不知道这是否是最好的方法。

如何为每个应用设置不同的登录会话?

【问题讨论】:

我看不出它有什么用,或者它有什么必要,因为你总是可以使用两个浏览器进行测试。无论如何,我严重怀疑它可以在 Django 身份验证系统中完成,我还没有找到任何库可以让你做到这一点,我认为这需要大量的编码和时间来实现。 【参考方案1】:

我是这样解决的(假设在基于 Unix 的操作系统上):

    首先在 /etc/hosts 中创建新值: 127.0.0.1 您的本地测试域 将 your local testdomain 添加到 settings.py 中的 ALLOWED_HOSTS 打开您的应用程序,例如在 your local testdomain:8000 在 localhost:8000/admin 上打开管理界面

由于 cookie 策略,会话数据按域存储。

【讨论】:

以上是关于Django:两种类型的用户同时登录的主要内容,如果未能解决你的问题,请参考以下文章

如何同时从 oauth 认证两种类型的用户。并且在每个请求标头中都需要两个用户凭据

如何在 Django 中创建两种类型的用户?

Django -- 条件登录重定向

在 Django 1.5/1.6 中设置两种不同类型的用户

使用 Django 1.5 实现多种用户类型

Django 视图链接/重定向最佳实践