Ayuda sobre productos BOLD:
Guía de uso de JXplorer para obtener los parámetros LDAP
JXplorer es un cliente/navegador LDAP que usamos en soporte para conectarnos al Directorio Activo de un cliente con un usuario de solo lectura y localizar la ficha de un usuario concreto, para poder extraer, verificar o depurar los parámetros que luego se informan en BoldWebCfg.xml (Portal/Fullweb/APP) o los datos de un usuario para relacionarlos con la ficha de persona de BOLD.
Este artículo complementa a Configuración con LDAP — ese artículo explica qué parámetros existen (ADUserDN, ADUsersDirectory, ADFilter, ADPersonalCodeParam, etc.); esta guía explica cómo usar JXplorer para obtenerlos y, sobre todo, cómo usarlo para diagnosticar el error más habitual: que un usuario no se vincule con su empleado en BOLD.
1. Antes de abrir JXplorer: qué datos necesitas
Según el checklist de Configuración con LDAP, antes de conectar deberías tener del cliente:
- Dirección del servidor LDAP (ej.
ldap://ldapservername.como su IP) y puerto. - Un usuario y contraseña de solo lectura sobre el árbol a consultar (el “usuario de browsing”). Es el único usuario con el que nos conectaremos.
- El directorio raíz a partir del cual están las personas usuarias (ej.
DC=cliente,DC=local). - El nombre del campo que usa BOLD para relacionar usuarios con empleados.
- El nombre de usuario de la persona concreta cuyo caso queremos investigar (para buscarla dentro del árbol una vez conectados).
2. Instalación
Descarga JXplorer desde jxplorer.org (necesita tener Java instalado). Es la misma herramienta a la que enlaza el artículo de Configuración con LDAP; como alternativa se puede usar Softerra LDAP Browser, pero esta guía cubre JXplorer.
3. Antes de conectar: relación entre los campos de JXplorer y los de BoldWebCfg.xml
Para que a cualquier agente de soporte le resulte más fácil rellenar la configuración de BOLD a partir de lo que vea en JXplorer (o al revés, revisar en JXplorer lo que hay configurado en un cliente), esta es la equivalencia entre ambos:
| Campo en el diálogo de conexión / búsqueda de JXplorer | Parámetro equivalente en BoldWebCfg.xml |
Qué es |
|---|---|---|
| Host + Port (y checkbox “Use SSL”) | LDAP_ActiveDirectory |
URL completa del servidor LDAP (ldap:// o ldaps://) |
| Base DN | ADUsersDirectory |
Directorio raíz común a los usuarios (se confirma con “Copy DN”, ver punto 5) |
| User DN (usuario de lectura) | ADUserDN |
El DN del usuario de lectura, quitando el prefijo CN= inicial (ver punto 5) |
| Password (del usuario de lectura) | Pass |
En BOLD queda encriptada dentro del XML tras configurarla |
| Filtro que pruebes al buscar (Ctrl+F) | ADFilter |
Filtro con %s como marcador, ej. (sAMAccountName=%s) |
| Atributo del usuario que identifica al empleado | ADPersonalCodeParam o ADDNIParam |
Según se identifique por código o por DNI (ver punto 8) |
Atributo mail del usuario |
ADMail |
Correo del empleado |
| — (es una decisión, no un campo de JXplorer) | UserIDPolicy |
Indica cuál de los dos atributos anteriores se usa y contra qué campo de BOLD se contrastarlo |
Con esta tabla a la vista, el resto de la guía tiene sentido: cada vez que hagamos algo en JXplorer, sabremos en qué campo de BOLD acabará ese valor.
4. Conectar al LDAP del cliente
Conectamos siempre con el usuario de lectura, nunca con las credenciales de la persona empleada cuyo caso estamos revisando.
- Abre JXplorer y ve a File → Connect… (o el icono de conexión/enchufe en la barra de herramientas).
- Rellena Host, Port y, si aplica, “Use SSL” (puerto 636) según la tabla anterior.
- En Base DN se pone lo indicado en el parámetro ADUsersDirectory.
- En el nivel de autenticación (Level) elige “User + Password” (no “Anonymous”, salvo que el cliente lo permita explícitamente) y rellena User DN y Password del usuario de lectura.
- Pulsa OK/Connect. Si la conexión y el bind son correctos, verás aparecer el árbol LDAP en el panel izquierdo.
5. Guardar la conexión y reutilizarla (conexiones recientes)
La mayoría de las veces la conexión a un cliente ya está guardada de una sesión anterior — antes de rellenar todo a mano, comprueba si ya existe:
- En el propio diálogo File → Connect… hay un desplegable/lista en la parte superior con las conexiones guardadas anteriormente. Si ves ahí el nombre del cliente, selecciónala directamente: se autocompletarán Host, Port, Base DN y User DN (la contraseña puede o no quedar guardada según cómo se guardó la conexión — si no, solo tendrás que volver a teclearla).
- Si es la primera vez que conectas a ese cliente, después de rellenar los campos y antes de pulsar Connect, usa el botón Save del propio diálogo para guardarla con un nombre claro (recomendado: nombre del cliente + entorno, ej.
ClienteX - LDAP PRO), así cualquier compañero que abra JXplorer en ese mismo equipo la reconocerá. - Ten en cuenta que las conexiones guardadas son locales al equipo/perfil de usuario donde se guardaron — si necesitas la misma conexión desde otro PC (o la sesión de otro compañero), habrá que volver a crearla y guardarla ahí.
6. Navegar el árbol y localizar a la persona del caso
- Expande los nodos del árbol (flechas/
+) hasta encontrar el contenedor de usuarios (normalmente algo comoOU=UsuariosoCN=Users), suele ser el primero de los nodos visibles. - Para no navegar a mano por árboles grandes, usa el buscador: con el nodo más alto seleccionado, pulsa Ctrl+F (o Edit → Search…) y busca por el nombre,
sAMAccountNameo el atributo que corresponda del usuario cuyo caso estamos revisando. - Selecciona en los resultados la entrada de esa persona — te llevará hasta su nodo en el árbol de la izquierda. Con esto ya tenemos localizada su ficha LDAP;
7. Revisar los atributos: ADPersonalCodeParam, ADDNIParam, ADMail
- Con la persona del caso seleccionada, abre el panel de atributos (vista de tabla/HTML según la versión) — ahí verás la lista completa de atributos LDAP y sus valores.
- Localiza qué atributo contiene el dato que BOLD necesita para identificar al empleado (habitualmente
employeeID,employeeNumbero similar para código; algún atributo de DNI/NIE si se identifica por documento). - Anota el nombre del atributo (eso es lo que va en
ADPersonalCodeParam/ADDNIParamdeBoldWebCfg.xml) y también el valor exacto que tiene esa persona ahora mismo — para compararlo con BOLD. - Decide
UserIDPolicysegún cuál de los dos atributos anteriores se use (ByEmployeeCode,ByEmployeeCodeExtoByEmployeeDNI).
9. El error más frecuente: el campo de vinculación no coincide (o está vacío)
Esta es, con diferencia, la causa más habitual de que una persona no pueda entrar aunque su login en LDAP sea correcto — el mensaje típico es “La persona profesional seleccionada no tiene información en BOLD” (ver Proceso de login y diagnóstico de casos de error). El problema casi nunca está en LDAP en sí, sino en que el valor del atributo configurado (ADPersonalCodeParam/ADDNIParam) no coincide carácter a carácter con el código o DNI guardado en la ficha del empleado en BOLD, o el atributo está simplemente vacío.
Casos concretos que hay que revisar, de más a menos frecuente:
| Caso | En AD/LDAP | En BOLD | Resultado |
|---|---|---|---|
| Cambio de DNI a NIE (o viceversa) | Se actualizó el documento de la persona (ej. tras naturalización) | Sigue con el documento antiguo, o al revés | No coincide → no localiza al empleado |
| Cero inicial en el DNI | 00345678A |
345678A |
No coincide (aunque “sean el mismo” documento) |
| Espacios o guiones | 12345678-A o 12345678 A |
12345678A |
No coincide |
| Mayúsculas/minúsculas o letra de control mal calculada | 12345678a |
12345678A |
Puede no coincidir según cómo compare BOLD |
| Atributo vacío en AD | El campo existe pero no tiene valor para esa persona | — | Se extrae una cadena vacía → no encuentra a nadie |
| Atributo mal elegido en la configuración | ADPersonalCodeParam=employeeID, pero el dato real está en employeeNumber |
— | Se extrae un valor incorrecto (o vacío) para todos los usuarios, no solo uno |
Cómo diagnosticarlo con JXplorer:
- Localiza a la persona en JXplorer y copia el valor exacto del atributo configurado como
ADPersonalCodeParam/ADDNIParam— cuidado con ceros a la izquierda y espacios, que a simple vista pueden pasar desapercibidos. - Compara ese valor, carácter a carácter, con el código externo o DNI que tiene guardado ese mismo empleado en BOLD
- Si no coincide, decide qué lado corregir: normalmente se corrige el dato en BOLD para que coincida con el valor real y vigente en el AD del cliente (salvo que el dato de AD esté desactualizado y el cliente pueda/deba corregirlo allí — en ese caso hay que pedírselo).
- Si el atributo está vacío en AD, no es algo que se pueda arreglar desde BOLD: hay que pedir al cliente que lo rellene para esa persona.
- Si el problema se repite en varios usuarios a la vez, sospecha del cuarto caso de la tabla (atributo mal elegido en la configuración) antes que de datos individuales — revisa
ADPersonalCodeParam/ADDNIParamenBoldWebCfg.xmlcontra el nombre real del atributo en JXplorer. - Aunque el código/DNI coincida perfectamente, recuerda que el empleado también necesita tener marcada la propiedad “Acceso portal” en su ficha para poder entrar — si todo lo anterior coincide y sigue sin funcionar, revisa ese campo.
10. Verificar el filtro de login (ADFilter)
- El filtro típico es
(cn=%s)o(sAMAccountName=%s). Para saber cuál corresponde, mira qué atributo de la persona del caso coincide con el nombre que se teclea al hacer login (normalmentesAMAccountNameen Active Directory). - Puedes comprobarlo repitiendo la búsqueda (Ctrl+F), pero filtrando directamente por ese atributo con el valor real, ej. buscando
sAMAccountName=jperez— si devuelve exactamente a esa persona, el filtro(sAMAccountName=%s)es correcto. Sigue siendo una búsqueda con el usuario de lectura, no un intento de login real.
11. Errores de conexión habituales
| Síntoma en JXplorer | Causa probable |
|---|---|
| “Can’t connect to server” / timeout | Firewall/VPN del cliente bloqueando el puerto (389/636), host o puerto mal escritos |
| “Invalid credentials” al hacer bind | El DN del usuario de lectura está mal formado (falta o sobra un tramo) o la contraseña es incorrecta |
| Conecta pero el árbol aparece vacío | El Base DN indicado no es correcto o el usuario de lectura no tiene permisos sobre ese nodo — probar con el Base DN en blanco y navegar desde la raíz |
| La búsqueda (Ctrl+F) no encuentra a la persona del caso | El ADUsersDirectory/Base DN elegido no es un ancestro común de esa persona — repetir “Copy DN” sobre su nodo y comparar |
| SSL/certificado rechazado | El cliente usa LDAPS (puerto 636) y JXplorer no confía en el certificado — probar sin SSL en el puerto 389 si el cliente lo permite, o importar el certificado |
12. Checklist de salida — qué debes tener antes de cerrar JXplorer
ADUserDNyADUsersDirectory(del “Copy DN” del usuario de lectura)- Confirmación de que la persona del caso cuelga del mismo
ADUsersDirectory - Nombre del atributo para
ADPersonalCodeParamoADDNIParam, y el valor exacto que tiene esa persona (para comparar con BOLD) - Nombre del atributo para
ADMail - El
ADFilterverificado con una búsqueda real UserIDPolicydecidido- La conexión guardada con un nombre reconocible, para la próxima vez (punto 5)
Con esos datos, configurar BoldWebCfg.xml desde cero — o diagnosticar por qué uno ya configurado está fallando — es prácticamente mecánico.
Artículos relacionados
- Configuración con LDAP — parámetros completos y ejemplo de configuración
- BoldWebCfg.xml — dónde se informan estos valores
- Validación cliente Windows LDAP
- Administración de usuarios · Gestión de personas usuarias — para comparar el código/DNI guardado en BOLD
- jxplorer.org — sitio oficial de la herramienta
