|
Nota:
Las descripciones y ejemplos presentadas aqu� est�n basadas en una versi�n preliminar del est�ndar Java SASL API. Aunque estos ejemplos funcionan con la versi�n 1.2 del proveedor LDAP, los APIs todav�a est�n sujetos a modificaciones, dependiendo de la evoluci�n del API SASL Java. |
El proveedor LDAP tiene soporte interno para los mecanismos SASL CRAM-MD5 y External. Para usar otros mecanismos SASL, debemos poner las clases de los mecanismos a disposici�n de nuestro programa (por ejemplo, a�adi�ndolas a nuestro CLASSPATH) y configurar la propiedad de entorno "javax.security.sasl.client.pkgs" con el nombre del paquete de la clase factory que crea implementaciones de dichos mecanismos.
Aqu� hay un ejemplo que usa el paquete (examples) que contiene un mecanismo SASL personalizado:
// Specify the package name for SASL to search for the mechanism factories
env.put("javax.security.sasl.client.pkgs", "examples");
// Use the bogus SASL mechanism name
env.put(Context.SECURITY_AUTHENTICATION, "SAMPLE");
El programa primero a�ade el paquete examples a la lista de paq�etes a buscar por los mecanismos SASL (realmente, factor�as de mecanismos). Luego solicita un mecanismo SASL ("SAMPLE") de ese paquete.
Cuando ejecutamos el programa, la implementaci�n de la clase del mecanismo SASL "SAMPLE" (SampleMech) imprime un mensaje de depuraci�n para indicar que ha sido llamado. Cuando el programa comunique con en el servidor LDAP, este devolver� una AuthenticationNotSupportedException porque "SAMPLE" es un mecanismo tonto. Podemos usar una t�cnica similar para acceder a mecanismos SASL que soporte el servidor LDAP. Se hacr esto usando un valor apropiado para el nombre del mecanismo y para el nombre del paquete de la implementaci�n del mecanismo. Estas implementaciones normalmente son proporcionadas por terceros vendedores y deben seguir los interfacesy reglas mostradas en el Java SASL API.