Django多个站点:防止跨站点身份验证

时间:2016-08-17 12:43:30

标签: python django django-admin django-authentication

我目前正在同时开发2个不同的网站:其中一个是大量定制的django-admin界面,另一个是“独立”网站,它将与之前的网站共享数据库。

尽管它们是相关的,但我希望我的用户不要在这两个网站之间松散地识别:它们都能够独立于另一个网站。

然而,当有人登录“admin”网站时会出现问题:当他们访问其他网站时,会自动记录这些问题。除非我允许,否则不会以其他方式发生,因为管理站点需要用户模型中的特殊权限。

我已经创建了一个UserProfile,可以区分其中一个站点或两者的用户。

因此,了解所有这些,我如何确保管理站点的客户在其他网站上时无法进行身份验证(当然,没有从第一个网站注销)?< / p>

谢谢!

编辑:为了更好地格式化,这就是我得到的,总结:

  • 一个管理应用程序/网站都在运行
  • 同一台服务器上的一个相关应用程序/站点, 分享设置和urls.py

如果有人登录 admin ,我想要求他们创建一个新会话以登录 [相关网站] :这个,而不是从管理员注销站点。

我应该对此配置做哪些更改才能实现此目的?

1 个答案:

答案 0 :(得分:1)

为每个应用添加不同的SESSION_COOKIE_DOMAINSESSION_COOKIE_NAME。希望这能解决你的问题。

SESSION_COOKIE_DOMAIN = 'site1.com' #site2.com for other
SESSION_COOKIE_NAME = 'sid1' #sid2 for other