成员来自继承的组和角色的值/筛选



我对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

简而言之,它可以这样描述:

  1. 许多用户
  2. 少数组(开发人员、经理、分析师、老板等)
  3. 一些组包括其他组(即:项目经理包含在开发人员中)
  4. 很少有应用程序。
  5. 应用程序包括组和/或用户

让用户搜索登录名并考虑所有组之间的用户继承的正确方法是什么?

即,如果我想将用户登录到 gitlab - 像这样的过滤器仅适用于直接包含(如果用户直接包含在我过滤的对象中,但它不适用于组包含):(&(objectClass=inetOrgPerson)(memberOf=cn=redmine,ou=applications,dc=domain,dc=com))

您需要执行类似于"的搜索:

(&(objectClass=user)(memberof:1.2.840.113556.1.4.1941:cn=redmine,ou=applications,dc=domain,dc=com)

从活动目录组相关搜索

最新更新