我的要求是我必须使用java连接LDAP服务器。我给管理员
IP :
HOST :
LDAP PORT :
LDAP USER NAME :
PasSWORD :
连接LDAP的这些细节。现在我想使用JAVA来包装ldap客户端。
任何人都建议如何继续?我不知道如何继续。
答案 0 :(得分:1)
有几种方法,包括但不限于:
答案 1 :(得分:0)
如果您使用的是Java EE,请使用JNDI访问LDAP: https://docs.oracle.com/javase/jndi/tutorial/ldap/misc/url.html
或者如果您使用Spring尝试Spring LDAP: http://projects.spring.io/spring-ldap/
答案 2 :(得分:0)
使用spring将非常容易。在你配置的任何方式中定义xml或java中的bean。对于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>
使用Property Place Holder加载这些属性标记。
在所需的课程中使用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;
}