首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenLDAP:检索父DN

OpenLDAP:检索父DN
EN

Stack Overflow用户
提问于 2014-07-14 18:56:07
回答 1查看 1.5K关注 0票数 0

我所拥有的:

我在我的openldap设置中有如下层次结构。帐户'1-AA‘具有用户'Foo’。基本DN为

代码语言:javascript
复制
o=MyCompany,dc=sanjose,dc=corp,dc=company,dc=edu

帐户直接位于基本DN下。

我想要的:

我想显示用户'Foo‘的帐户id (这里是1-AA)。

我所知道/尝试的:

使用标准java ldap搜索作为

代码语言:javascript
复制
env = new Hashtable<String, String>();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldap://<host>:<port>/dc=sanjose,dc=corp,dc=company,dc=edu");
LdapContext ctx = new InitialLdapContext(env, null);
NamingEnumeration<?> namingEnum = ctx.search("o=MyCompany",
                "(user=Foo)", getSimpleSearchControls());
//hasNext loop
SearchResult result = (SearchResult) namingEnum.next();
System.out.println(result.getNameInNamespace());

现在的问题是,在上述情况下没有返回任何结果。但是如果我试图通过将搜索查询更改为获取帐户1-AA的DN

代码语言:javascript
复制
NamingEnumeration<?> namingEnum = ctx.search("o=MyCompany",
                "(Account=1-AA)", getSimpleSearchControls());

它工作得很好。

如何在此处获取父DN。在英语中,我只想说把while user=Foo的所有帐户In都给我。

EN

回答 1

Stack Overflow用户

发布于 2014-07-16 02:57:40

假设搜索(user=Foo)确实返回条目user=Foo,Account=1-AA,o=MyCompany,dc=sanjose,dc=corp,dc=company,dc=edu,那么javax.naming.ldap.LdapName可以帮助您完成剩下的工作。http://docs.oracle.com/javase/tutorial/jndi/newstuff/ldapname.html有一个从DN获取前缀或后缀的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24734983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档