如何使用 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
- ...
我的要求是我必须使用 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
- ...