升级到ReviewBoard 2.0后LDAP认证不工作
在把ReviewBoard从1.7升级到2.0之后,发现LDAP认证方法好像消失了。这里的“消失”是指它不再是一个后端选项了:
我已经安装了python-ldap
:
>>> import ldap
>>> ldap.__version__
'2.4.15'
但是当我启动一个交互式命令行时,发现AUTHENTICATION_BACKENDS
的列表里没有LDAP后端:
>>> reviewboard.accounts.backends.get_backends()
[<reviewboard.accounts.backends.StandardAuthBackend object at 0x4259190>]
>>> from django.conf import settings
>>> settings.AUTHENTICATION_BACKENDS
(u'reviewboard.accounts.backends.StandardAuthBackend',)
1 个回答
0
最后发现,我是通过虚拟环境(virtualenv)安装了ReviewBoard。不太清楚为什么,但似乎新版本在mod_wsgi文件里没有包含这个设置时,会忽略掉已有的后端。
activate_this = '/venv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
另外,网站的配置里应该有这个设置(在django管理后台:/admin/db/siteconfig/siteconfiguration/1/):
"auth_backend": "ldap",
希望这能帮到你。