Active directory 继承的组和角色的值的成员/筛选

Active directory 继承的组和角色的值的成员/筛选,active-directory,ldap,filtering,openldap,ldap-query,Active Directory,Ldap,Filtering,Openldap,Ldap Query,我对LDAP非常陌生,尝试为用户登录设置继承模型,访问级别特定于部门等 示例架构如下所示: DN: dc=domain,dc=com /cn=people (groupOfNames) /joe (inetOrgPerson) /alex (inetOrgPerson) /nick (inetOrgPerson)

我对LDAP非常陌生,尝试为用户登录设置继承模型,访问级别特定于部门等

示例架构如下所示:

    DN: dc=domain,dc=com

      /cn=people           (groupOfNames)
        /joe               (inetOrgPerson)
        /alex              (inetOrgPerson)
        /nick              (inetOrgPerson)
        /boss              (inetOrgPerson)
        /qaJane            (inetOrgPerson)
        /analystBob        (inetOrgPerson)

      /ou=groups           (organizationalUnit)
        /developers        (groupOfNames)
          member: uid=joe,cn=people,dc=domain,dc=com
          member: uid=nick,cn=people,dc=domain,dc=com

        /testers           (groupOfNames)
          member: uid=qaJane,cn=people,dc=domain,dc=com

        /projectManagers   (groupOfNames)
          member: uid=alex,cn=people,dc=domain,dc=com

        /analysts          (groupOfNames)
          member: uid=boss,cn=people,dc=domain,dc=com
          member: uid=analystBob,cn=people,dc=domain,dc=com

      /ou=applications     (organizationalUnit)
        /gitlab            (groupOfNames)
          member: cn=developers,ou=groups,dc=domain,dc=com
          member: cn=projectManagers,ou=groups,dc=domain,dc=com

        /redmine           (groupOfNames)
          member: cn=testers,ou=groups,dc=domain,dc=com
          member: cn=developers,ou=groups,dc=domain,dc=com
          member: cn=projectManagers,ou=groups,dc=domain,dc=com

        /nfs               (groupOfNames)
          member: cn=analysts,ou=groups,dc=domain,dc=com
          member: cn=projectManagers,ou=groups,dc=domain,dc=com
简而言之,可以这样描述:

  • 许多用户
  • 少数群体(开发人员、经理、分析师、老板等)
  • 某些组包括其他组(即:项目经理包括在开发人员中)
  • 应用程序很少
  • 应用程序包括组和/或用户
  • 什么是让用户搜索登录并考虑所有组之间的用户继承的正确方法?

    例如,如果我想将用户登录到gitlab-filter,则仅适用于直接包含(如果用户直接包含到我筛选的对象中,但不适用于组包含):
    (&(objectClass=inetOrgPerson)(memberOf=cn=redmine,ou=applications,dc=domain,dc=com))

    您需要执行类似的搜索:


    From

    过滤器查询中的数字是什么?>>>memberof:1.2.840.113556.1.4.1941:如何找到在我的案例中必须使用的正确值?这是扩展搜索过滤器的OID。它不会因需要的搜索而更改。但它是Microsoft Active Directory特定的。您能告诉我需要的值吗uld需要与openldap/slapd服务器一起使用?因此在我的情况下不是一个解决方案?或者这是我需要研究的方向,以使其与openldap一起工作?感谢如果不使用Microsoft Active Directory,您将需要循环所有嵌套组值以查找所有成员。
    (&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:cn=redmine,ou=applications,dc=domain,dc=com)