搜索部分可重复的dn属性

时间:2016-07-04 17:47:12

标签: search ldap openldap

我目前面临基于dn的搜索问题。

我在客户端LDAP上工作,所以我无法修改结构,并且我只有readOnly完全访问权限。

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

让我们通过关注uid想象4个权限:

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*))

但两人都给我0结果。

有可能吗? 怎么样?

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

NB2:dnPermission是DN链接,而不是全文属性。

1 个答案:

答案 0 :(得分:1)

我的猜测是没有像objectClass这样的东西' People'。 LDAP中人员的标准对象类是' Person'及其子类' organizationalPerson'和' inetOrgPerson'