如何在Django子域会话中共享一些会话变量

时间:2015-12-23 03:50:30

标签: python django

我有一个带有通配符子域的Django应用程序。用户在这些子域中有多个登录会话。例如,他访问sd1.site.com并使用凭据username1和password1登录(HTTP POST请求到sd1.site.com/login/)。这将在sd1.site.com上为用户创建会话。然后他转到sd2.site.com并使用凭据username2和password2登录。这将在sd2.site.com上为用户创建会话。

我的最终目标是告诉sd1.site.com用户也从sd2.site.com登录。我的计划是存储一个名为'domains_logged_in'的会话变量,其值为['sd1','sd2']。 sd1和sd2都应该能够访问'domains_logged_in'。

设置SESSION_COOKIE_DOMAIN ='。site.com'不是一个选项,因为它使管理多个会话变得困难并且不完全安全。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

这取决于你如何坚持你的会话。如果您使用cookie来保持您的会话似乎很可能,并且您不愿意使用.site.com cookie域,那么您需要将会话存储卸载到Redis或其他一些密钥/商店一种与服务器无关的选择。