Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Filter LDAP搜索多个字段,如if/else语句_Filter_Attributes_Ldap - Fatal编程技术网

Filter LDAP搜索多个字段,如if/else语句

Filter LDAP搜索多个字段,如if/else语句,filter,attributes,ldap,Filter,Attributes,Ldap,我有一个关于LDAP搜索的问题,我想在我的过滤器中包含三个属性。 我希望过滤器总是搜索objectClass,如果属性skaPersonType有一个值,则查找该值,否则查找employeeType。 我被卡住了,真的不知道该怎么继续 致以最诚挚的问候/C不确定您实际需要的过滤器: …如果属性skaPersonType具有 值,查找该值,否则查找employeeType 你在找这样的东西吗 (&(objectClass=MyClass)(|(skaPersonType=A)(&(

我有一个关于LDAP搜索的问题,我想在我的过滤器中包含三个属性。 我希望过滤器总是搜索objectClass,如果属性skaPersonType有一个值,则查找该值,否则查找employeeType。 我被卡住了,真的不知道该怎么继续


致以最诚挚的问候/C

不确定您实际需要的过滤器:

…如果属性skaPersonType具有 值,查找该值,否则查找employeeType

你在找这样的东西吗

(&(objectClass=MyClass)(|(skaPersonType=A)(&(!(skaPersonType=*))(employeeType=B))))
上述过滤器将获取以下对象:

  • objectClass等于MyClass,并且
  • 满足下列条件之一:
    • skaPersonType等于A,或
    • skaPersonType没有值,employeeType等于B
  • 代码未经测试。

  • 始终搜索对象类
  • 不必要,但
    (objectClass=*)
    :所有LDAP条目都有
    对象类。

  • 如果满足skaPerson=EMP,则查找该值
  • (skaPerson=EMP)

  • 否则,请查找employeetype=外部
  • (employeetype=External)

    你知道我该怎么办吗

    你在找(2)或(3)。因此:

    如果必须进行冗余
    objectClass
    测试:

    (&(objectClass=*)(|(skaPerson=EMP)(employeetype=External)))
    

    谢谢你的回答,我甚至不确定是否有可能以我正在尝试的方式解决它。我想说的是:1。始终搜索objectclass 2。如果满足skaPerson=EMP,则查找该值3。ELSE look for employeetype=External有什么想法吗?谢谢你的帮助!似乎@EJP已经根据您的标准提供了过滤器。这就是你想要的吗?没错,这正是我想要的!谢谢你的回答!和你昨晚一样解决了。我在这里非常支持。
    (&(objectClass=*)(|(skaPerson=EMP)(employeetype=External)))