Acceder a LDAP sin utilizar el root

Hola, soy un poco nuevo en LDAP y también en escribir en foros de ayuda, asi que perdonadme por adelantado si no me explico bien. Mi problema es el siguiente:

Me gustaria crear un usuario que acceda a LDAP sin tener permisos de lectura. Lo que yo he hecho de primeras es configurar el slapd.conf como sigue:

access to * by dn="cn=ldapclient,o=mibase,c=sp" read
by * none

(no se si está bien)

Ahora en el LDAP he creado un cliente de tipo 'person' (en principio iba a usar un clase de objetos propia pero esta también me sirve) asi (esta copiado de una exportacion a LDIF lo que sigue):

dn: cn=ldapclient,o=mibase,c=sp
objectClass: person
objectClass: top
cn: ldapclient
sn: perro
userPassword:: cG9vbGU=

Pues bien, cuando yo intento acceder ya sea desde Java o desde mi navegador LDAP (yo utilizo el JXplorer) a través de este usuario, me dice que tengo credenciales invalidas, que es el mismo error que sale si el usuario no existe. ¿Por que ocurre esto si el usuario está registrado?. Lo mas que he logrado es acceder 'Solo lectura' con un usuario anonimo, pero esto no me vale, ya que quiero que la lectura la haga un unico usuario registrado (paranoyas de mi jefe :) )

He leido algo por los millones de foros que abundan por la red y en alguno explica que con la instrucción access das permiso a entidades y no objetos (o algo asi).

Pues bien, mi pregunta es: ¿Como puedo acceder a LDAP usando este cliente, o cualquier otro que me defina?

Muchisimas gracias, y un saludo

Hola, espero que esta pequeña explicación te sirva para aclararte:

Control de accesos

El control de accesos nos permite configurar quien puede acceder a la información y quien puede borrarla o modificarla.

El control de accesos se configura en el archivo slapd.conf, la sintaxis básica es:

access to
[ by [ ] ]+


The entity the access control directive applies to. This statement can have the following forms (this is an incomplete list. See the man page for a complete listing)
*
A wildcard that stands for all the entries.
dn[.]=
An entry based on a naming context such as dn="dc=somedomain,dc=com" which represents the base tree for somedomain.com, or dn="ou=People,dc=somedomain,dc=com" which represents the subtree based at the People organizational Unit.

is an optional qualifier which defaults to regex . It can also be defined with base or exact, one, subtree, and children. I'll elaborate on later.
attrs=
A comma separated list of attributes this access control directive applies to. An example would be, attrs=userPassowrd which controls access to an LDAP user's password.

There are also two special entries, entry and children which pertain to this entry and the entries which are part of the subtree based at this entry, respectively.
The last two elements are additive and can be used to control access to both the entry based at the particular naming context and its attributes.

Indicates to whom the access rules apply. Multiple statements can be applied to an access control clause, thus indicating different access privileges to the same resource. This statement can have the following forms (this is an incomplete list. See the man page for the complete listing)
*
A wildcard entry that defaults to everybody.
anonymous
Access is granted to unauthenticated users, that is those who have not performed a bind with LDAP server. It is improtant to realzie that, with the exception of peername below, everyone is considered anonymous until they've authenticated with the LDAP server.
users
Access is granted to authenticated users.
self
Access is granted to an entry by the entry itself. For example, the user identified by the DN of uid=user,ou=People,dc=somedomain,dc=com will be granted access to the entry rooted at uid=user,ou=People,dc=somedomain,dc=com in the DIT.
dn[.]=
Access is granted to the matching distinguished name indicated by
. The optional defaults to regex but can also take the same forms as the from the form of the field. I'll elaborate more on this later.
group[.