【发布时间】:2020-02-05 18:53:34
【问题描述】:
我尝试创建一个 Django 应用程序,该应用程序适用于具有单个应用程序实例的多个域。
例如:
- 共有三个域:group1.com、group2.com、group3.com
- 每个域都有限制登录后可用的内容
- user1 与 group1.com 和 group2.com 相关联
- 当user1登录group1.com并尝试进入group2.com时,他会自动登录group2.com
- 有 URL,例如DOMAIN_NAME/posts/ 将显示从与该用户关联的所有域登录的用户的所有内容(在这种情况下,对于 user1 应该有所有“来自 group1.com 和 group2.com 的帖子)
- 当user1进入group3.com时,他没有登录
我使用 Django Site 框架将用户与域相关联 - 特定域中用户的内容限制工作正常。
此外,我在 settings.py 中使用 SESSION_COOKIE_DOMAIN 参数在域之间“共享”cookie,不幸的是,它仅适用于子域。比如设置后:
SESSION_COOKIE_DOMAIN = '.group.com'
在我编写了简单的中间件之后,我能够满足我上面写的要求,但仅限于子域,例如 'one.group.com'、'two.group .com'、'three.group.com'。
我一直在寻找处理该问题的解决方案,但我还没有找到最新 Django 3.x 框架的答案。
有什么方法可以像我解释的那样处理吗?
【问题讨论】:
-
如何使用自定义中间件:stackoverflow.com/a/6728654/1388292
标签: python django django-sites