title: Spring Security & Active Directory LDAP Error 32 problem 2001 (NO_OBJECT)
body: <p>I am trying to authenticate a user again AD LDS\ADAM using the Spring framework and Spring Security 3.0. I keep getting the following error and hopefully someone from here can explain where the problem lies.</p>
  
  <pre><code>[LDAP: error code 32 - 0000208D: NameErr: DSID-0315258B, problem 2001 (NO_OBJECT), data 0, best match of: 'CN=Users,DC=Domain,DC=local' ]; nested exception is javax.naming.NameNotFoundException: [LDAP: error code 32 - 0000208D: NameErr: DSID-0315258B, problem 2001 (NO_OBJECT), data 0, best match of: 'CN=Users,DC=Domain,DC=local' ]; remaining name 'cn=Mo Logan,cn=Users,dc=Domain,dc=local'
  </code></pre>
  
  <p>Can anyone explain what the best match of and remaining name bits mean - this is really confusing me? Is this type of search case sensitive? And would problems like time differences between the server and client make a difference?</p>
  
  <p>From what I have read online error code 32 means that object cant be found - very helpful I'm sure you'll agree. Here is the configuration information which I am using:</p>
  
  <pre><code>&lt;authentication-manager alias="ldapAuthenicationManager"&gt;   
      &lt;ldap-authentication-provider
          user-search-base="cn=Users,dc=Domain,dc=local" 
          user-search-filter="(uid={0})" 
          role-prefix="Users"
      /&gt;
  &lt;/authentication-manager&gt;
  
  &lt;ldap-server url="ldap://server:50006/" manager-dn="CN=Admin,CN=Users,DC=Domain,DC=local" manager-password="Password101" /&gt;
  </code></pre>
  
  <p>I am searching by uid (no SAMAccountName in LDS) and when I search by the same criteria using ldap.exe on the server I can find the user correctly e.g: </p>
  
  <pre><code>ldap_search_s(ld, "CN=Users,DC=Domain,DC=local", 2, "(uid=mologan)", attrList,  0, &amp;msg)
  
  ***Searching...
  
  ldap_search_s(ld, "CN=Users,DC=Domain,DC=local", 2, "(uid=mologan)", attrList,  0, &amp;msg)
  
  Getting 1 entries:
  
  Dn: CN=Mo Logan,CN=Users,DC=Domain,DC=local
  
  badPasswordTime: 9/20/2011 1:19:51 PM GMT Standard Time; 
  
  badPwdCount: 0; 
  
  cn: Mo Logan; 
  
  distinguishedName: CN=Mo Logan,CN=Users,DC=Domain,DC=local; 
  
  dSCorePropagationData: 0x0 = (  ); 
  
  instanceType: 0x4 = ( WRITE ); 
  
  lastLogonTimestamp: 9/20/2011 9:10:32 AM GMT Standard Time; 
  
  lockoutTime: 0; 
  
  memberOf (2): CN=DMSUsers,CN=Users,DC=Domain,DC=local; CN=Users,CN=Roles,CN=Users,DC=Domain,DC=local; 
  
  msDS-UserAccountDisabled: FALSE; 
  
  name: Mo Logan; 
  
  objectCategory: CN=Person,CN=Schema,CN=Configuration,CN={BD500A33-CE7C-492F-9007-BF1B17F972EE}; 
  
  objectClass (4): top; person; organizationalPerson; user; 
  
  objectGUID: 40f74ed4-6cf3-495e-a28c-6aa080a0333b; 
  
  objectSid: S-1-514506224-2209559093-2723712157-1234827279-3369888698-2052446679; 
  
  pwdLastSet: 9/20/2011 8:19:06 AM GMT Standard Time; 
  
  uid: mologan; 
  
  uSNChanged: 13994; 
  
  uSNCreated: 13985; 
  
  whenChanged: 9/20/2011 9:10:32 AM GMT Standard Time; 
  
  whenCreated: 9/20/2011 8:16:54 AM GMT Standard Time; 
  </code></pre>
  
  <p>I am binding to AD LDS as an administrator account which belongs to the reader group under roles. This user sits at the same level as the username I am trying to verify.</p>
  
  <p>As you can probably tell I am flat out of ideas as to why I am getting this error and hopefully someone will be able to help me out or point me in the right direction,</p>
  
  <p>Cheers &amp; thanks in advance</p>