gpt4 book ai didi

Java LDAP 搜索似乎无法处理空格

转载 作者:搜寻专家 更新时间:2023-10-30 23:03:00 25 4
gpt4 key购买 nike

调用javax.naming.ldap.InitialLdapContext的search()方法时,传入DN...

OU=User Structure, OU=Acecity(LTO), OU=AceCloud,OU=Hosting, DC=AceCloud,DC=local

输出的错误是Authentication failed。无法验证用户:[LDAP:错误代码 32 - 0000208D:NameErr:DSID-0315270B,问题 2001 (NO_OBJECT),数据 0。

LdapName baseDN = new LdapName(baseDN
NamingEnumeration results = ctx.search(baseDN, "("+ identity.getBindAttribute() + "=" + acctname + ")", sc);

问题是由于 User Structure 中的空格引起的。当我将用户放在另一个不包含空格的 OU 中时,我可以很好地进行身份验证。我已经尝试了以下所有方法:

OU=User\ Structure, OU=Acecity(LTO), OU=AcecityCloud,OU=Hosting, DC=AcecityCloud,DC=local
OU=User\20Structure, OU=Acecity(LTO), OU=AcecityCloud,OU=Hosting, DC=AcecityCloud,DC=local
OU=User\\20Structure, OU=Acecity(LTO), OU=AcecityCloud,OU=Hosting, DC=AcecityCloud,DC=local
OU=User%Structure, OU=Acecity(LTO), OU=AcecityCloud,OU=Hosting, DC=AcecityCloud,DC=local
OU=User\ Structure, OU=Acecity(LTO), OU=AcecityCloud,OU=Hosting, DC=AcecityCloud,DC=local
OU=User\\ Structure, OU=Acecity(LTO), OU=AcecityCloud,OU=Hosting, DC=AcecityCloud,DC=local
OU=User\\\\ Structure, OU=Acecity(LTO), OU=AcecityCloud,OU=Hosting, DC=AcecityCloud,DC=local

没有效果。有什么想法吗?

最佳答案

如果空格没有正确转义,它们可能会导致 openldap 出现问题。

'OU="User Structure",OU=Acecity(LTO),OU=AceCloud,OU=Hosting,DC=AceCloud,DC=local'

为避免出现问题,请用单引号将整个 BINDDN 括起来,并用双引号将包含空格字符的公用名 (CN)、组织单位 (OU) 或域组件 (DC) 括起来。

关于Java LDAP 搜索似乎无法处理空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27964248/

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