繁体   English   中英

使用Java进行LDAP认证,需要说明

[英]LDAP Authentication with Java, explanation needed

如果可以的话,请向我解释一下我不太理解的以下代码,我将不胜感激:

(&(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);
     }
...

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM