1

我们有一部分用户所属的 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#">
4

1 回答 1

2

你应该能够像这样设置你的过滤器

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

|表示您正在为您的列表使用 an并且OR应该*充当通配符

此外,当您使用具有大量属性的标签时,只是一个建议,我发现使用 anattributeCollection来定义我传递给标签的内容更容易。这是个人对可读性的偏好,对性能没有影响。

<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#">
于 2013-05-17T02:11:15.380 回答