搜索部分、可重复、dn 属性

Search over partial,repetable,dn attribute

我目前正面临一个基于 DN 的搜索问题。

我在客户端 LDAP 上工作,所以我不能修改结构,而且我有只读完全访问权限。

在此 LDAP 中,用户按权限分组。

让我们想象一下 4 个权限和 follow uid :

uid=APP1#Admin#feature,ou=permission,ou=client,ou=fr
uid=APP1#User#other feature,ou=permission,ou=client,ou=fr 
uid=APP2#Admin,ou=permission,ou=client,ou=fr
uid=APP3#Admin,ou=permission,ou=client,ou=fr

APP1、APP2、APP3是三个不同的应用

现在假设有 3 个用户:

第一个

uid=jdoe,ou=user,ou=client,ou=fr
dnPermission=uid=APP2#Admin,ou=permission,ou=client,ou=fr
dnPermission=uid=APP1#User#other feature,ou=permission,ou=client,ou=fr
dnPermission=uid=APP3#Admin,ou=permission,ou=client,ou=fr

第二

uid=jdupont,ou=user,ou=client,ou=fr
dnPermission=uid=APP1#Admin#feature,ou=permission,ou=client,ou=fr
dnPermission=uid=APP2#Admin,ou=permission,ou=client,ou=fr

第三

uid=mhari,ou=user,ou=client,ou=fr
dnPermission=uid=APP2#Admin#feature,ou=permission,ou=client,ou=fr
dnPermission=uid=APP3#Admin,ou=permission,ou=client,ou=fr

每个应用可以有很多权限,权限列表当时还不稳定

我的目标是让所有用户通过一次查询获得对 APP1 的权限。

我无法获取所有用户并在之后进行过滤,因为 LDAP 有 24K+ 用户,而我的应用程序只涉及 75 个用户。

我的第一个想法是处理像字符串一样的 dn 和用户关注查询:

(&(objectclass=people)(dnPermission=uid=APP1*))

(&(objectclass=people)(dnPermission=APP1*))

但是 return 我 0 个结果。

可能吗? 怎么样?

NB1:人是标准人 class 的子class,没有技术帐户

NB2:dnPermission 是一个 DN link,不是全文属性。

我的猜测是不存在 objectClass 'People' 这样的东西。 LDAP 中人们的标准对象 class 是 'Person' 及其子 classes 'organizationalPerson' 和 'inetOrgPerson'