gpt4 book ai didi

java - Spring LDAP,在java中设置连接细节

转载 作者:行者123 更新时间:2023-12-03 23:00:35 24 4
gpt4 key购买 nike

我想设置 LDAP 连接以列出来自 AD 的所有用户。我使用存储在 XML 中的信息成功地完成了这项工作

<ldap:context-source
url="ldap://<url>"
base="dc=example,dc=local"
username="<user>@example.local"
password="<pass>" />

但是我如何从 Java 而不是 XML 中设置这些信息呢?尝试过:

LdapContextSource ctxSrc = new LdapContextSource();
ctxSrc.setUrl("ldap://<url>");
ctxSrc.setBase("dc=example,dc=local");
ctxSrc.setUserDn("<user>@example.local");
ctxSrc.setPassword("<pass>");
LdapTemplate tmpl = new LdapTemplate(ctxSrc);
setLdapTemplate(tmpl);

但是在运行的时候

List users = (List<User>) ldapTemplate.search(LdapUtils.emptyLdapName(), "(&(objectCategory=person)(objectClass=user))", new UserAttributesMapper());

我得到 NullPointerExeption。在不设置 java 属性(即从 xml 读取)的情况下运行一切正常

最佳答案

请试试这个

LdapContextSource ctxSrc = new LdapContextSource();
ctxSrc.setUrl("ldap://<url>");
ctxSrc.setBase("dc=example,dc=local");
ctxSrc.setUserDn("<user>@example.local");
ctxSrc.setPassword("<pass>");

ctxSrc.afterPropertiesSet(); // this method should be called.

LdapTemplate tmpl = new LdapTemplate(ctxSrc);
setLdapTemplate(tmpl);

关于java - Spring LDAP,在java中设置连接细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23294956/

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