通过 LDAP 对用户进行身份验证后,请参阅 http://docs.oracle.com/javase/jndi/tutorial/ldap/security/src/Simple.java ,我需要检索用户的 DN。我尝试了这个,但它返回了一个空字符串。
LdapContext ctx = new InitialLdapContext(env, null);
ctx.getNameInNamespace();
我可以使用搜索功能来查找用户。然而,这似乎不是一个好方法,因为 a) 它很慢,b) 它可能在另一个 OU 中有重复的用户名。
ctx.search("DC=example,DC=org", "(&(objectClass=user)(cn=abc))", null);
我找不到任何这样的例子。有人可以帮忙吗?
最佳答案
LDAP 应用程序中没有“当前用户”。 LDAP 用于通过 LDAP“绑定(bind)”操作对用户进行身份验证,但随后应用程序会与 LDAP 断开连接,此后就不存在当前用户了。您必须记住您用来进行绑定(bind)的用户。
关于java - 如何在LDAP中获取当前登录用户信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325744/