Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.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
如何通过LDAP搜索属性与指定模式匹配的项目?_Ldap_Ldap Query - Fatal编程技术网

如何通过LDAP搜索属性与指定模式匹配的项目?

如何通过LDAP搜索属性与指定模式匹配的项目?,ldap,ldap-query,Ldap,Ldap Query,我正试图在LDAP服务器上搜索具有指定属性的所有项目 我正在处理的LDAP模式通过以下方式记录用户角色: 创建可能包含多个属性(角色)之一的对象类型,以及 将每个角色的值设置为与其名称相同 这些属性不共享公共基类型,并且objectclass(“roleuser”)包含非角色的其他属性。角色通过以“角色”结尾的属性名称进行区分。(恶心。) 例如。用户的对象类型将包括对象类型roleuser,并且可能具有以下属性=值对: cn=userX objectclass=roleuser,...

我正试图在LDAP服务器上搜索具有指定属性的所有项目

我正在处理的LDAP模式通过以下方式记录用户角色:

  • 创建可能包含多个属性(角色)之一的对象类型,以及
  • 将每个角色的值设置为与其名称相同
  • 这些属性不共享公共基类型,并且objectclass(“roleuser”)包含非角色的其他属性。角色通过以“角色”结尾的属性名称进行区分。(恶心。)

    例如。用户的对象类型将包括对象类型roleuser,并且可能具有以下属性=值对:

    cn=userX
      objectclass=roleuser,...
      managerrole=managerrole
      clerkrole=clerkrole
    
    cn=userY
      objectclass=roleuser,...
      managerrole=managerrole
    
    cn=userZ
      objectclass=roleuser,...
      clerkrole=clerkrole
    
    我能查到职员,经理,经理职员。但是,当我查找clerks(使用
    (&(clerkrole=*)(objectclass=roleuser))
    )时,我得到了角色clerk(userZ)和角色manager和clerk(userX)的用户

    我可以指定
    (&(clerkrole=*)(!managerrole=*)(objectclass=roleuser))
    )来获取不是经理的职员。但这需要我列出(并否定)所有可能的其他角色

    出于各种原因,我不希望我的应用程序必须知道所有可能的角色,因为这些角色的变化可能比我的应用程序要快

    所以。是否有一种方法可以查询模式中
    roleuser
    中所有名为
    *role
    的属性,以便动态指定(并否定)所有其他角色


    还是有一种方法查询(CelkPyrase= *),并且没有其他属性名为*角色存在于RoLeUsor上?

    < P>您是否考虑动态地建立过滤器?您可以查询架构并检索以“role”结尾的所有属性,然后对它们进行迭代,丢弃所需的属性并为每个项目添加(!\uuuuuuuuuu role=*),然后添加所需属性的过滤器并使用该过滤器进行查询。

    您使用的是什么LDAP服务器?我这样问是因为查询模式可能是一种解决方案,但这取决于服务器的类型。