我正在尝试使用Spring LDAP进行简单的AD身份验证。下面是我的配置xml
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldap://ValidADhost:port" />
<property name="base" value="dc=ad,dc=XXX,dc=com"/>
<property name="userDn" value="ValidUserName" />
<property name="password" value="ValidPassword" />
</bean>
<bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
<constructor-arg ref="contextSource" />
</bean>
验证码:
public boolean login(String username, String password) {
AndFilter filter = new AndFilter();
ldapTemplate.setIgnorePartialResultException(true);
filter.and(new EqualsFilter("sAMAccountName", username));
return ldapTemplate.authenticate("", filter.toString(), password);
}
使用此代码,我得到以下异常
HTTP状态500 - 请求处理失败;嵌套异常是org.springframework.ldap.CommunicationException:ValidADhost:port;嵌套异常是javax.naming.CommunicationException:ValidADhost:port [根异常是java.net.UnknownHostException:ValidADhost:port]
我能够从C#测试程序中的相同LDAP主机名:端口获取用户详细信息。
我感谢任何帮助/指针/解决方案。