Coldfusion cfldap:列出AD OU组列表的所有成员

Coldfusion cfldap:列出AD OU组列表的所有成员,coldfusion,active-directory,ldap,Coldfusion,Active Directory,Ldap,我们有一个用户子集所属的OU组列表。某些用户属于多个OU组 是否可以使用cfldap返回属于此OU组列表中一个或多个OU组的所有用户?大概是这样的: <cfldap name="user_info" action="QUERY" server="123.45.6.78" attributes="displayName, givenName, memberOf" start="dc=na,dc=company,dc=lan" scope="

我们有一个用户子集所属的OU组列表。某些用户属于多个OU组

是否可以使用cfldap返回属于此OU组列表中一个或多个OU组的所有用户?大概是这样的:

<cfldap
    name="user_info"
    action="QUERY"
    server="123.45.6.78" 
    attributes="displayName, givenName, memberOf" 
    start="dc=na,dc=company,dc=lan"
    scope="subtree"
    filter="(|(memberOf CONTAINS ou=OU001)(memberOf CONTAINS ou=OU002)(memberOf CONTAINS ou=OU003))"
    username="#userName#"
    password="#passWord#">

您应该可以这样设置过滤器

filter = "(|(memberOf=*ou=OU001*)(memberOf=*ou=OU002*)(memberOf*ou=OU003*))"
|
表示您正在对列表使用
,而
*
应充当通配符

另外,当您使用具有大量属性的标记时,我发现使用
attributeCollection
来定义传递到标记中的内容更容易。这是个人对可读性的偏好,对性能没有影响

<cfset stldap = {}>
<cfset stldap.name = "user_info">
<cfset stldap.action = "QUERY">
<cfset stldap.server = "123.45.6.78">
<cfset stldap.attributes = "displayName, givenName, memberOf">
<cfset stldap.start = "dc=na,dc=company,dc=lan">
<cfset stldap.scope = "subtree">
<cfset stldap.filter = "(|(memberOf=*ou=OU001*)(memberOf=*ou=OU002*)(memberOf*ou=OU003*))">
<cfset stldap.username = userName>
<cfset stldap.password = passWord>

<cfldap attributeCollection="#stldap#">