0

我正在使用 FreeIPA 作为我的烧瓶应用程序的 LDAP 后端。到目前为止,我已经将 flask-simpleldap 与 OpenLDAP 一起使用来获取用户的组成员身份,它适用于以下选项:

LDAP_BASE_DN="dc=myrealm,dc=com"
LDAP_REALM_NAME="MyFunRealm"
LDAP_OBJECTS_DN="dn"
LDAP_USER_OBJECT_FILTER="(&(objectclass=inetorgperson)(uid=%s))"
LDAP_GROUP_MEMBERS_FIELD="member"
LDAP_GROUP_OBJECT_FILTER="(&(objectclass=groupofnames)(member=%s))"
LDAP_GROUP_MEMBER_FILTER="member=%s"
LDAP_GROUP_MEMBER_FILTER_FIELD="cn"

我想更改我的用户的 LDAP 结构以将组放在组内,但上述设置仅提供用户的“第一级”组。(对不起,我不熟悉 LDAP 和它的术语)。

如何更改查询/过滤器以通过组中组成员身份获取用户所属的所有组的列表?

4

1 回答 1

0

我认为考虑您的设置是不可能的(即flask + openldap)

OpenLDAP 没有(据我所知)内置机制来对嵌套组执行过滤。并且flask 会为您完成请求,因此您无法轻松实现递归搜索。

在其他目录(例如 AD)中,您可以指定用于过滤嵌套组的可扩展匹配规则,如下所示:

(&(objectclass=groupofnames)(member:1.2.840.113556.1.4.1941:=%s))

但是这个特定的可扩展匹配规则在 OpenLDAP 中不存在

于 2017-09-12T10:21:55.917 回答