我了解如何基于简单的配件创建ldap搜索过滤器,例如LDAP:如何为嵌套的属性和值创建搜索过滤器?
(&(objectClass=universityPerson)(surname=Smith*))
将返回一个不错的名单,其姓氏以'史密斯'开头。到现在为止还挺好!
在我们大学的LDAP模式,人们有很多定制的属性或具有类似
graduateStatus: {campus=CAMPUS_CODE}:{degSchool=SCHOOL_CODE}:{classYr=YYYY}
或
universityHR:
{jobCategory=Staff}:
{campus=CAMPUS_CODE}:
{deptId=999999}:
{deptGroup=COLLEGE_BUSINESS}:
{deptDescription=Business Library}:
{deptVicePresidentArea=PROVOST}:
{jobcode=123456}:
{jobFamily=123}:
{emplStatus=A}:
{regTemp=R}
这将是使LDAP查询是非常有用的一个结构的子对象回答如下问题:
- “谁是商学院毕业的人在课上= 1995年?”
- “谁是护理学校的所有工作人员与jobCode = 456789?”
- “主要校园里工作家庭= 789的临时员工是谁?”
我希望能够创建LDAP搜索过滤器指的是那些子属性,是这样的:
(&(objectClass=universityPerson)(graduateStatus.campus=BUS)(graduateStatus.classYr=1995))
或
(&(objectClass=universityPerson)(universityHR.regTemp=T)(universityHR.jobFamily=789))
,但我想不出如果这是可能的,更不用说语法可能是什么了。
我怀疑这不是LDAP的好用例,我应该在其他企业系统中寻找这些问题的答案。然而,将企业目录用作不仅仅是荣耀的电话簿是非常方便的。
通过OpenLDAP.org和ldapsearch文档搜索各种发行版并未得出答案。无论何时,当我寻找有关嵌套属性或层次结构的信息时,我都会发现大量关于嵌套组和成员资格查询的文档,但这不是问题。
非常感谢您的任何建议。
LDAP不以任何方式支持此形状或形式,您也不应该这样做。 '嵌套属性'应该是子对象。 – EJP
也许如果你展示了你对付它的结构会更有意义,并且可以提出一个建议。 – jwilleke
@EJP我想我在这里学到的是,这不是使用LDAP的好方法。案件结案! –