Active directory LDAP:memberOf/IsMemberOf属性确定组成员身份是否可靠:SunONE/ActiveDirectory/OpenLDAP

Active directory LDAP:memberOf/IsMemberOf属性确定组成员身份是否可靠:SunONE/ActiveDirectory/OpenLDAP,active-directory,ldap,openldap,sunone,active-directory-group,Active Directory,Ldap,Openldap,Sunone,Active Directory Group,上下文 在将成员从LDAP服务器导入应用程序时,我们添加了组成员筛选 (以前我们从给定的ldap“基本DN”导入了所有成员;现在管理员可以将其限制为某些组,即基本DN中的成员“Sales”和“HR”) 我们的应用程序支持: 苏农 活动目录 此外,我们计划只支持静态组,而不支持动态组 我们会怎么做 在过去,我们将使用两个查找将成员复制到数据库中以实现这一新功能 查找baseDN中的所有成员 查找组名在列表中的所有组(包括成员)(例如“Sales”或“HR”)。通过映射“哪些用户属于哪些组”以编

上下文

在将成员从LDAP服务器导入应用程序时,我们添加了组成员筛选

(以前我们从给定的ldap“基本DN”导入了所有成员;现在管理员可以将其限制为某些组,即基本DN中的成员“Sales”和“HR”)

我们的应用程序支持:

  • 苏农

  • 活动目录

此外,我们计划只支持静态组,而不支持动态组

我们会怎么做

在过去,我们将使用两个查找将成员复制到数据库中以实现这一新功能

  • 查找baseDN中的所有成员
  • 查找组名在列表中的所有组(包括成员)(例如“Sales”或“HR”)。通过映射“哪些用户属于哪些组”以编程方式进行跟踪,即使用“组成员”属性(“SunONE中的uniqueMember”,ActiveDirectory中的member)
  • 将#1和#2的结果相交以获得“要导入的成员”
  • MemberOf/IsMemberOf能否减少查询和逻辑?

    在简短的互联网研究中,我发现SunONE和ActiveDirectory有一个属性(isMemberOf/memberOf),用于标识“该用户所属的组”

    理论上,我们可以将上述逻辑简化为一个LDAP查询:

  • 查找baseDN中属于任何组的所有成员
  • MemberOf/IsMemberOf能否减少查询和逻辑?

    了解问题: -memberOf/isMemberOf仅支持静态组 -它不支持嵌套组

    问题

    • 此方法是否会使用memberOf/IsMemberOf工作
    • 有什么警告吗
    • 那么OpenLDAP或其他服务器呢?他们都支持这样的属性吗。(我看到OpenLDAP有“overlay”的成员,但管理员必须显式地启用它)
    参考

    SunOne:

    Active Directory:

    相关问题:

    它将根据警告进行工作

    如果其工作方式与OpenLDAP实现的工作方式相同,则memberOf属性仅适用于启用后创建的条目。它没有“赶上”

    管理员必须显式启用它)


    您可以查询任何LDAP服务器的根DN,以确定它是否支持该功能。关于OpenLDAP对此的支持,您是正确的。

    我无法与Sun ONE对话,但Active Directory确实支持用户提供的memberOf属性,您可以对其进行查询。该属性是一个多值属性,其中包含用户所属组的DifferentiedName

    也就是说,您必须根据组的dn查询该组,并且不能使用通配符匹配作为其一部分。本机不支持嵌套组,但如果需要,我只会将objectCategory添加到查询属性中,并检查“如果此成员是另一个组,则重复查找”


    如果您的组结构中有一个循环,这一切都会很糟糕,但我敢肯定,其他很多事情也是如此,AD会阻止您这样做。

    Active Directory或SunONE对该功能的支持有任何问题吗?“您可以询问任何LDAP服务器的根DN,以确定它是否支持该功能。”您能给出一个示例查询吗?@user331465只需获取rootDSE的操作属性。
    Will this approach using memberOf/IsMemberOf work?
    
    Any caveats?
    
    What about OpenLDAP or other servers? do they all support such an attribute. (I see that OpenLDAP has memberOf "overlay", but an