【发布时间】:2015-09-23 16:19:54
【问题描述】:
我正在尝试创建一个 django 应用程序,其中同一用户可以在同一浏览器上打开两个选项卡并作为两个不同的会话登录,最好仍然使用 cookie。
一些背景:我的应用程序是为其他网站提供的服务,用户从客户网站被引用到我的网站。所以用户进入我的域,但由于他们来自不同的站点,所以他们的帐户不能混合。
注意:如果有帮助,我可以将用户重定向到每个客户端站点的唯一 URL。
我应该如何解决这个问题?有没有现成的解决方案?
谢谢!
【问题讨论】:
-
不确定这是否可以实现,因为会话可能存储在 cookie 中,这取决于您的浏览器所呈现的 cookie
-
如果您在不同的三级域(例如
subdomain1.mydomain.com和subdomain2.mydomain.com -
@mastazi 这是我正在考虑的一般方向之一,我不喜欢它是需要为使用我的服务的每个客户创建 dns 记录(例如,如果“somesite.com”是使用我的服务,我必须为 somesite.mydomain.com 创建一条记录并在我的服务器上接受它)。有没有办法在不实际使用不同域的情况下伪造这种行为?你可能知道的任何技巧?谢谢
-
@Ness 如果您想实现该工作流程,那么您应该实现自己的会话管理系统并忽略 django-sessions。相关问题:stackoverflow.com/questions/3862888/…
-
@Ness 我支持 AdolAurion 提出的解决方案,考虑到您所说的,您可能应该创建自己的会话。我知道这需要更多工作(并且可能某些外部库可能无法正常工作),但它是最灵活的解决方案。
标签: django session django-socialauth django-sessions