问题描述
我正在尝试使用 flask_appbuilder 将 Apache-superset 与 LDAP 集成。
我把配置放在/venv/lib/python3.6/site-packages/superset/config.py
#from flask_appbuilder.security.manager import AUTH_DB,AUTH_LDAP
#AUTH_TYPE = AUTH_LDAP
#AUTH_USER_REGISTRATION = True
#AUTH_LDAP_SERVER = "ldap://X.X.X.X ldap://X.X.X.X"
#AUTH_LDAP_SEARCH = "DC=XX,XX"
#AUTH_LDAP_BIND_USER = "XX\\%s"
#AUTH_LDAP_UID_FIELD = "sAMAccountName"
启动超集,ldap 库没有错误,但是当我尝试通过网络登录时,出现错误“ERROR:flask_appbuilder.security.manager:python-ldap library is not installed” .
然后我开始了故障排除:
(venv) [root@apache-superset venv]# pip freeze | grep ldap ldap3==2.9
pyldap @ file:///home/btsiklauri/pyldap-3.0.0.post1-py3-none-any.whl
python-ldap==3.3.1 python3-ldap==0.9.8.4
(venv) [root@apache-superset venv]# rpm -qa | grep ldap
python3-ldap3-2.8.1-2.el8.noarch
openldap-2.4.46-15.el8.x86_64
openldap-devel-2.4.46-15.el8.x86_64
尝试在 /venvlib/python3.6/site-packages/flask_appbuilder/security/manager.py 文件中添加 import 行:
# Ensure python-ldap is installed
try:
import ldap
except ImportError:
log.error("python-ldap library is not installed")
return None
尝试放入 (ldap3,python-ldap,python3-ldap,python-ldap3,pyldap),但没有成功。
我可以检查什么?
解决方法
尝试 pip install python-ldap
安装正确的库。项目不会安装每个库,因为这会导致大量未使用的代码。