我有一个关于LDAP搜索的问题,我有三个属性,我想参与我的过滤器。 我希望过滤器总是搜索objectClass,如果属性skaPersonType有值,则查找,否则查找employeeType。 我已经陷入困境,现在真的不知道如何继续。
最好的问候/ C
答案 0 :(得分:2)
- 始终搜索objectclass
醇>
不必要,但(objectClass=*)
:所有LDAP条目都有objectClass.
- 如果符合skaPerson = EMP,请查找该值
醇>
(skaPerson=EMP)
- ELSE寻找employeetype =外部
醇>
(employeetype=External)
我有什么想法可以管理它?
您正在寻找(2)或(3)。所以:
(|(skaPerson=EMP)(employeetype=External))
如果您必须进行多余的objectClass
测试:
(&(objectClass=*)(|(skaPerson=EMP)(employeetype=External)))
答案 1 :(得分:1)
不确定您真正想要的过滤器:
...如果属性skaPersonType有一个,则始终搜索objectClass 值,寻找,否则寻找employeeType ......
你在找这样的东西吗?
(&(objectClass=MyClass)(|(skaPersonType=A)(&(!(skaPersonType=*))(employeeType=B))))
上面的过滤器将获得以下对象:
代码未经过测试。