如何使用 java 编写 LDAP 客户端

how to write LDAP client using java

我的要求是我必须使用 java.My 管理员提供的

连接 LDAP 服务器
IP :             
HOST :           
LDAP PORT :      
LDAP USER NAME : 
PasSWORD :   

这些连接细节 LDAP.Now 我想使用 JAVA 开发 ldap 客户端。

任何人都可以建议如何进行吗?我不知道如何进行。

如果您正在使用 Java EE,请使用 JNDI 访问 LDAP: https://docs.oracle.com/javase/jndi/tutorial/ldap/misc/url.html

或者如果您使用 Spring 尝试 Spring LDAP: http://projects.spring.io/spring-ldap/

使用 spring 它将非常 easy.Define xml 或 java 中的一个 bean config.For XML

<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
    <property name="url" value="${ldap.url}" />
    <property name="base" value="${ldap.base}" />
    <property name="userDn" value="${ldap.userdn}" />
    <property name="password" value="${ldap.password}" />
</bean>

<bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
    <constructor-arg ref="contextSource" />
</bean>

使用 属性 占位符加载那些 属性 标签。 在您需要的 class

中使用 LdapTemplate
@Autowired(required = false)
private LdapTemplate ldapTemplate;

使用 LdapTemplate

的示例查询
    public boolean isUserExistsInLdap(String emailId, String password) {
        boolean auth = false;
            try {
                auth = ldapTemplate.authenticate("","mail="
                        + emailId, password);
            } catch (Exception e) {
                e.printStackTrace();

            }
          return auth;
    }

有多种方式,包括但不限于:

  • JNDI
  • UnboundID API
  • SpringAPI
  • Netscape API(现在 Mozilla.org)
  • Novell API
  • ...