搜索部分、可重复、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'
我目前正面临一个基于 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'