Programación en castellano Añadir una dirección | Buscador | Cursos | Artículos | Foros | Formación

Sistema de Nombrado en Java (JNDI) y II
Autor: Sun
Traductor: Juan Antonio Palos (Ozito)


En esta página:


La Operación "Compare " LDAP

La operación "compare" del LDAP permite a un cliente preguntarle a un servidor si la entrada nombrada tiene una pereja atributo/valor. Esto permite al servidor mantener secretas ciertas parejas atributo/valor (por ejemplo, no expuestas para accesos de "search" generales) mientras permite que los clientes limitados las usen. Algunos servidores podrían usar estas características para passwords, por ejemplo, aunque es inseguro para el cliente pasar password en texto claro en la propia operación "compare".

Para conseguir esto en el JNDI, se usan argumentos convenientemente restringidos para los siguientes métodos:

Primero, el filtro debe ser de la forma "(nombe=valor)". No podemo usar comodines. Segundo, el ámbito de búsqueda debe ser SearchControls.OBJECT_SCOPE. Finalmente, debemos pedir que no se devuelvan atributos.

Aquí tenemos un ejemplo:

// Value of the attribute
byte[] key = {(byte)0x61, (byte)0x62, (byte)0x63, (byte)0x64, 
    (byte)0x65, (byte)0x66, (byte)0x67};

// Set up the search controls
SearchControls ctls = new SearchControls();
ctls.setReturningAttributes(new String[0]);       // Return no attrs
ctls.setSearchScope(SearchControls.OBJECT_SCOPE); // Search object only

// Perform the search
NamingEnumeration answer = ctx.search("cn=S. User, ou=NewHires", 
    "(mySpecialKey={0})", new Object[]{key}, ctls);

Si la comparación tiene éxtio, la enumeración resultante contendrá un sólo ítem cuyo nombre es el nombre vacío y que no contiene atributos.


Principio Página
© 1999-2002, Programación en castellano, s.l.
Contacto - Datos legales

ReD Internet: Hospedaje Web | envio sms gratis | Salvapantallas | Fondos de Escritorio, famosas | melodias moviles gratis| Gratis