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

时间:2013-05-16 21:46:37

标签: coldfusion active-directory ldap

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

是否可以使用cfldap返回属于这个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#">

1 个答案:

答案 0 :(得分:2)

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

filter = "(|(memberOf=*ou=OU001*)(memberOf=*ou=OU002*)(memberOf*ou=OU003*))"

|表示您使用OR列表,而*应作为通配符

另外,只是当您使用具有大量属性的标记时,我发现使用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#">