2012-08-28 28 views
1
認證用戶

我得到以下異常而認證用戶:異常而用Spring LDAP

Exception in thread "main" org.springframework.ldap.PartialResultException: Unprocessed Continuation Reference(s); nested exception is javax.naming.PartialResultException: Unprocessed Continuation Reference(s); remaining name '/' 
    at org.springframework.ldap.support.LdapUtils.convertLdapException(LdapUtils.java:205) 

身份驗證方法:

public boolean authenticate(String userName, String password) { 
     AndFilter filter = new AndFilter(); 
     filter.and(new EqualsFilter("objectclass", "person")).and(
       new EqualsFilter("sAMAccountName", userName)); 
     return ldapTemplate.authenticate(DistinguishedName.EMPTY_PATH, filter 
       .toString(), password); 
    } 

的applicationContext.xml

<bean id="contextSource" 
     class="org.springframework.ldap.core.support.LdapContextSource"> 
     <property name="url" value="ldap://10.10.10.10:389" /> 
     <property name="base" value="DC=lab2,DC=ins" /> 
     <property name="userDn" value="CN=Ldap Bind,OU=Service Accounts,OU=TECH,DC=lab2,DC=ins" /> 
     <property name="password" value="secret" /> 
    </bean> 
    <bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate"> 
     <constructor-arg ref="contextSource" /> 
    </bean> 
    <bean id="ldapContact" 
     class="ldap.ContactLDAP "> 
     <property name="ldapTemplate" ref="ldapTemplate" /> 
    </bean> 

識別TestClass:

Resource r = new ClassPathResource("applicationContext.xml"); 
     BeanFactory factory = new XmlBeanFactory(r); 
     ContactLDAP contact = (ContactLDAP) factory.getBean("ldapContact"); 

     System.out.println(contact.authenticate("username", "secret")); 

我在這裏錯過了什麼?

回答

1

通過設置java.naming.referral=follow來嘗試以下推薦。

+0

它是-D選項嗎? –