0

如果您能向我解释以下一段我不太明白的代码,我将不胜感激:

过滤字段中的含义是什么(&(cn=*)({0}={1}))

我知道这cn意味着搜索cn属性,然后将结果添加到({0}={1}).

是什么意思({0}={1})

这是代码:

try {
     // Create initial context
     ctx = new InitialDirContext(env);
     Attributes matchAttrs = new BasicAttributes(true);
     matchAttrs.put(new BasicAttribute(ldap_id_field, netid));

     String attlist[] = {ldap_email_field, ldap_givenname_field, 
            ldap_surname_field, ldap_phone_field};

    // look up attributes
      try {
      SearchControls ctls = new SearchControls();
     ctls.setReturningAttributes(attlist);
     NamingEnumeration answer = 
     ctx.search(ldap_search_context, "(&(cn=*)({0}={1}))", new Object[]  {ldap_id_field,netid},ctls);
     }
...
4

1 回答 1

1

在我看来它是错误的。该过滤器所做的只是在 ldap_id_field 和 netid 中分别查找具有任何 CN 并且与指定为搜索参数的属性名称/值对匹配的条目。没有“添加”:& 表示两个过滤器表达式必须匹配。

于 2013-07-12T09:42:25.910 回答