¿Cómo puedo aplicar un LDAP bindRequest en Java usando JNDI?

Tengo una conexión JNDI a un servidor LDAP (Active Directory en este caso). También ctx.extendedOperation( new StartTlsRequest() )para obtener una conexión segura.

En esta conexión necesito validar las credenciales. PUEDO iniciar sesión usando

ctx.addToEnvironment( Context.SECURITY_AUTHENTICATION, "simple" );
ctx.addToEnvironment( Context.SECURITY_PRINCIPAL, principal );
ctx.addToEnvironment( Context.SECURITY_CREDENTIALS, credentials );

Sin embargo, el comando "bindRequest" solo se emite a través de ldap en la siguiente acción realizada en el contexto JNDI. Sin embargo, no hay nada que quiera hacer con eso. Solo necesito verificar las credenciales. ¿Hay alguna manera de hacer cumplir la "solicitud de vinculación"?

De lo contrario, ¿qué acción debo usar como mi propio NOP? ¿Una búsqueda de un objeto inexistente o debería consultar algún atributo de algún objeto que exista o ...? Debe ser rápido, no debe crear ningún trabajo en el lado del servidor y debe usar el menor ancho de banda posible. (Porque, de hecho, esa acción nunca debe ser necesaria en primer lugar ...)

Saludos, Steffen

Respuesta 1

LdapContext.reconnect () realiza un enlace LDAP.

Respuesta: 2

Para su acción NO-OP, puede buscar el DSE raíz . Eso debería estar en la memoria del servidor. Si tiene acceso a la solicitud y respuesta BIND, puede incluir el control de solicitud de identidad de autorización en la solicitud BIND. Si el servidor admite este control de solicitud (en cuyo caso se incluirá en el DSE raíz), el servidor incluirá el control de respuesta de identidad de autorización en la respuesta BIND. Ese control de respuesta será la identidad de autenticación de la conexión.

Respuesta: 3

Imagine una aplicación bancaria simple en la que se realiza un caso de uso de transferencia de fondos. Mientras escribe la operación del fondo de transferencia, el programador / diseñador tiene las siguientes dos opciones Escribir una operación ...

Estoy trabajando en una aplicación de prueba que requiere conexión al servidor y guardo la respuesta. La respuesta en realidad es un paquete de datos, por lo que necesito entender qué tipo de paquete es y ...

Si presiono el botón Atrás de mi actividad principal, aparece una pantalla en negro. ¿Es este comportamiento normal? Para solucionar esto, he puesto el siguiente código: ¿es esto una solución alternativa? vacío público ...

He agregado una nueva actividad a mi aplicación que ya tenía algunas otras actividades. Estoy tratando de hacer mi nueva actividad como actividad principal. Cuando se hace clic en un botón de las actividades existentes anteriormente ...