Question: I need split my current Django application into two sites. 

Site A will contain the public facing site which would contain all the static pages and the registration system. 

The other site — Site B — is the site for registered users. They can also log-in to application site through Site B.

If I'm not mistaken, I can use `django.contrib.sites` framework to accomplish the task of having multiple sites but can have a common authetication/registration backend?

How can I accomplish this?

Thanks.

Answer: 
Django's `django.contrib.sites` framework is nice if both sites are running under the same server and access the same database. If you have a distributed application (different sites on different hosts or different sites on different databases), you can resort to single sign-on solutions.

I use OpenID with a custom provider to centralize logins between apps running on different databases. Other solutions include [CAS](http://en.wikipedia.org/wiki/Central_Authentication_Service) ([provider](https://github.com/Nitron/django-cas-provider) and [consumer](https://github.com/Nitron/django-cas-consumer)).
You could use (external) LDAP authentication for both sites. You would need a LDAP server somewhere reachable for both sites. I never used this and I don't know how well it integrates with Django auth though. See <http://packages.python.org/django-auth-ldap/>