【发布时间】:2015-07-20 13:17:11
【问题描述】:
我试图在 JSP 的 LDAP 树中查找用户的 OU。我可以使用以下代码检索许多用户的 LDAP 属性:
Hashtable<String, String> tenv = new Hashtable<String, String>();
tenv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
tenv.put(Context.PROVIDER_URL, "ldap://xx.xx.xx.xx:389/");
SearchControls sc = new SearchControls();
sc.setSearchScope(SearchControls.SUBTREE_SCOPE);
LdapContext lctx = new InitialLdapContext(tenv, null);
String filter = "cn=" + userid;
NamingEnumeration res = lctx.search ("dc=my,dc=dom,dc=org", filter, sc);
while (res.hasMore())
{
SearchResult s = (SearchResult) res.next();
Attributes attrs = s.getAttributes();
Attribute attr = attrs.get("SN");
out.println ("<font color=red>" + attr + "</font>");
}
当我在 Linux 命令行中使用类似的搜索参数运行 ldapsearch 时,我可以看到一个 DN:它显示了用户所在的 OU (dn: uid=username,ou=users,dc=my, dc=dom,dc=org)。 我试过 attrs.get("DN") 并返回 null。如何在 JSP 中检索此 DN:?
【问题讨论】: