我的任务是使用Django创建一个网站。它将成为现有Plone网站的“姐妹”网站。同一个Apache实例将成为网站的前端,允许我使用相同的域名。
但是,所有者希望用户能够登录其中一个并仍然登录到另一个用户。
如何实现这一目标?
谢谢! :)
答案 0 :(得分:1)
直觉反应是使用OAuth - 请参阅How to build a secure Django single signon between different sites?
或者,您是否尝试过此单点登录应用 - http://code.google.com/p/django-sso/?
答案 1 :(得分:0)
另请参阅Django关于如何在http://docs.djangoproject.com/en/dev/topics/auth/#writing-an-authentication-backend实现自己的授权后端的文档
答案 2 :(得分:0)
我的直觉反应是使用LDAP。 Plone的LDAP支持有点粗糙,但它有效。 Django是否具有相同或更好的LDAP支持?如果是这样,那么我认为你已经开始运行......
答案 3 :(得分:0)
您可以将身份验证移动到SQLPASPlugin,并为Django和Plone使用相同的表。
答案 4 :(得分:0)
这里有两个问题,共享登录和单点登录。基于LDAP或SQL的登录将为您提供第一个,但您仍需要在两个站点中输入密码。您需要单点登录才能在bpth中保持登录状态。
plone.session 3.0(Plone 4的一部分,但如果您还将hashlib添加到您的buildout中,则与Plone 3.3兼容)与Apache mod_auth_tkt单点登录兼容。它应该很简单,配置Django使用Apache身份验证,或者如果你没有运行Apache,请将plone.session的tktauth.py包装在一个简单的wsgi包装器中。使用Plone站点的require_login脚本作为TKTAuthLoginURL。