如何在django中登录两个不同的项目

问题描述 投票:0回答:1

我有两个 Django 应用程序,

app1
app2
,它们都使用相同的数据库并在不同的端口上运行(
localhost:8000
localhost:8010
)。当我登录到app1时,我希望用户也自动登录到app2。目前,这两个应用程序都使用数据库会话引擎,但我尚未配置缓存。我计划设置 Redis 进行缓存和会话管理,以实现两个应用程序之间的会话共享。

django redis
1个回答
0
投票

如果您希望用户同时登录app1和app2,您可以将他们设置为使用Redis共享会话数据。基本上,您需要配置这两个应用程序以使用 Redis 进行会话存储。在两个应用程序的 settings.py 中,只需将 SESSION_ENGINE 指向 Redis,并确保两个应用程序使用相同的 Redis 实例。

此外,通过在 settings.py 中设置相同的 SESSION_COOKIE_NAME 和 SESSION_COOKIE_DOMAIN 来确保两个应用程序共享相同的会话 cookie。不要忘记对两个应用程序使用相同的 SECRET_KEY,这样会话加密就不会被破坏。

设置完成后,当用户登录 app1 时,他们也应该自动登录 app2,因为他们将共享来自 Redis 的会话信息。快速测试一下,确保一切都正确同步!

© www.soinside.com 2019 - 2024. All rights reserved.