java - 如何在LDAP中获取当前登录用户信息

标签 java ldap

通过 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/

相关文章:

ldap - Activiti LDAP 集成

java - 从通过 VBA 启动的 .bat 文件运行时找不到 java.exe

java - 检测 Activity 目录用户是否必须通过 Java 重置密码

ruby-on-rails - Authlogic LDAP : encrypt communication

Spring-boot LDAP - 未设置属性 'userDn'

php - 如何通过 php 移动 eDirectory 条目?

java - 由于 Maven 的 SLF4J 模块加载错误,Hibernate 无法在 Wildfly 上序列化对象

java - HibernateTemplate 可以与 Envers 一起使用吗?如果是这样,怎么办?

java - 如何使其他类可以全局访问图像?

java - 为什么不呢?在此模式中充当可选的重复说明符?