使用AUTH_LDAP_SEARCH_FILTER在Flask App Builder中按多个LDAP组过滤

问题描述

我正在配置Airflow FAB UI以使用LDAP身份验证。目前,我可以使用此功能,但是只能按LDAP中一个组的成员的用户进行过滤。

AUTH_LDAP_SEARCH_FILTER = '(memberOf=CN=group1)'

我想验证属于两个组之一的用户。我在webserver_config.py

中尝试了以下内容的多种变体

AUTH_LDAP_SEARCH_FILTER = '|(memberOf=CN=group1)(memberOf=CN=group2)'

但是在尝试登录时,我总是在Airflow Web服务器日志中遇到此错误

ERROR - {`result`: -7,`desc`: `Bad search filter`,`ctrls`: [] }

在FAB LDAP框架中是否可以通过多个组进行过滤?

解决方法

尝试在引号内添加另一组括号以包含多个条件: AUTH_LDAP_SEARCH_FILTER = '(|(memberOf=CN=group1)(memberOf=CN=group2))'