<p>关于。你的更新:你不需要像那样伪造URL结构,除非你也想要像这样的URLmainsite.com/secondarysite直接提供给用户。在</p>
<p>我假设您使用的是<a href="http://httpd.apache.org/docs/2.3/vhosts/name-based.html" rel="nofollow noreferrer">name-based virtual hosting</a>。一种简单但非常灵活的方法是让每个<;VirtualHost>;指令通过常用的<a href="http://docs.djangoproject.com/en/1.3/howto/deployment/modwsgi/" rel="nofollow noreferrer">mod_wsgi</a>配置指令调用不同的wsgi脚本,然后每个wsgi脚本可以设置指向不同设置文件的<code>os.environ['DJANGO_SETTINGS_MODULE']</code>。在</p>
<p>这些设置文件中的每个文件都可以有一个不同的根配置文件,因此如果需要,可以在不同的路径上配置视图。利用<code>include</code>机制。在</p>
<p>如果您希望两个域对所有事情都使用同一个数据库,只需让两个设置文件从第三个文件(例如settings)加载数据库配置_共享.py. 或者,如果您想将一些模型路由到共享数据库,而另一些则不路由,<a href="http://docs.djangoproject.com/en/1.3/topics/db/multi-db/" rel="nofollow noreferrer">that's possible too</a>。很容易想象如何为每个域配置:</p>
<pre><code>from settings_shared import DATABASES_SHARED
DATABASES = DATABASES_SHARED.copy()
DATABASES.update({ ... })
</code></pre>
<p>这种方法负责为每个域配置url和数据库。
但它不考虑单点登录。在</p>
<p>对于SSO部分,这实际上取决于您想要什么样的用户体验以及您有多少时间;)</p>
<p>尝试搜索“django sso”。这里有很多相关的问题,例如:
<a href="https://stackoverflow.com/questions/4662348/implementing-single-sign-on-sso-using-django">Implementing Single Sign On (SSO) using Django</a>,
<a href="https://stackoverflow.com/questions/1936186/how-to-build-a-secure-django-single-signon-between-different-sites">How to build a secure Django single signon between different sites?</a>,<a href="https://stackoverflow.com/questions/3765638/django-google-sso-openid">Django + Google SSO openid</a>,<a href="https://stackoverflow.com/questions/4713293/integrating-django-and-net-applications-using-single-sign-on-sso">Integrating Django and .Net applications using Single Sign On (SSO)</a>,<a href="https://stackoverflow.com/questions/1581602/django-sharing-authentication-across-two-sites-that-are-on-different-domains">(Django) Sharing authentication across two sites that are on different domains</a></p>