gpt4 book ai didi

java - 使用 Java 进行 LDAP 身份验证,需要解释

转载 作者:行者123 更新时间:2023-12-01 14:20:32 27 4
gpt4 key购买 nike

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

(&(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 且与指定为搜索参数的属性名称/值对匹配的条目。没有进行“添加”:& 意味着两个过滤表达式必须匹配。

关于java - 使用 Java 进行 LDAP 身份验证,需要解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17611793/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com