2016-08-17 38 views
0

我目前正在同时开发2个不同的站点:其中一个是大量定制的Django管理界面,另一个是“独立”网站,将分享它是以前的数据库。Django多个站点:防止跨站点认证

尽管它们是相关的,但我希望我的用户不要在两个站点之间进行松散的识别:它们都可以独立于另一个站点。

但是,当某人登录到“管理员”网站时会出现问题:当他们访问其他网站时,系统会自动登录。除非我允许,否则不会以其他方式发生,因为管理网站需要用户模型中的特殊权限。

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

因此,了解所有这些,我如何确保管理网站的客户在其他网站(当然,没有从第一个网站登出)进行身份验证?

谢谢!

编辑:为了更好地格式化,这里是我得到了什么,总结出:

  • 一个管理应用程序/网站都在同一服务器上运行
  • 一个相关的应用程序/网站, 如果某些在管理记录共享设置和urls.py

,我想要求他们创造一个新的会话登录[相关网站]:此,无需注销的管理网站。

我应该怎样做这个配置来实现这个目标?

回答

1

针对每个应用程序放置不同的SESSION_COOKIE_DOMAINSESSION_COOKIE_NAME。希望这能解决你的问题。

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

因此,据我所知,在另一个manage.pys上运行这两个站点与第二个站点的另一个settings.py是强制性的? –

+0

Nop.you可以通过SESSION_COOKIE_DOMAIN = None来做到这一点。 – itzMEonTV

+0

我不明白:从你的意思,我可能需要也可能不需要有多个settings.py?我编辑了我的问题以更加清晰地了解我的配置 –