Zammad: Importación OTRS después del problema de capitalización de importación LDAP

Creado en 23 nov. 2017  ·  8Comentarios  ·  Fuente: zammad/zammad

Infos:

  • Versión de Zammad utilizada: zammad-2.1.0
  • Fuente de instalación de Zammad utilizada: paquete rpm
  • Sistema operativo: CentOS 7
  • Navegador + versión:

Comportamiento esperado:

Los usuarios de una importación OTRS deben fusionarse con una importación LDAP anterior.

Comportamiento real:

Los usuarios parecen estar parcialmente actualizados, pero no todos, específicamente parece que la importación LDAP convierte todo a minúsculas, mientras que la importación OTRS mantiene el inicio de sesión como está.

Podemos ver que se crean usuarios con userPrincipalName como "Givenname. [email protected] ", mientras que "givenname. [email protected] " se actualiza. Sin embargo, el usuario de OTRS en el primero todavía se crea con un inicio de sesión en minúsculas.

También puedo ver que en el primer caso hay un número de 3 dígitos adjunto al inicio de sesión, como

OTRS: [email protected] -> zammad: givenname. [email protected]

Este comportamiento es el mismo para todos los usuarios.

Pasos para reproducir el comportamiento:

  • Utilice un directorio con algunos usuarios como Givenname. [email protected] y a algunos les gusta givenname. [email protected]
  • importar primero los usuarios LDAP (en nuestro caso con el orden cambiado de "samaccountname" y "userprincipalname" en "lib / ldap / user.rb: 61"
  • luego importe los tickets y los usuarios de OTRS como se describe en la documentación.
  • verifique los archivos de registro, los usuarios con Givenname. [email protected] son así

_thread # -: agregar User.find_by (inicio de sesión: [email protected]) _

los usuarios con todo en minúsculas son así

_thread # -: actualizar User.find_by (inicio de sesión: [email protected]) _

cuando busco al primer usuario en zammad usando

_User.find_by (correo electrónico: '[email protected]') _

no encuentro al usuario, si busco con minúsculas

_User.find_by (correo electrónico: '[email protected]') _

lo encuentro, pero el inicio de sesión es así

inicio de sesión: "ggggg. [email protected] "

bug import verified

Comentario más útil

@thorsteneckel, ¿ no habrá más minitests y todas las nuevas pruebas serían rspec?

Todos 8 comentarios

Tal vez resolví el problema (al menos para mí)

Cambié 2 archivos en lib / import / otrs

user.rb
customer_user.rb

en cada uno de los archivos agregué esto

    _mapped[:login].downcase!_

debajo de la línea 70. (estrictamente no es necesario en el user.rb, creo, pero no soy un desarrollador)

Esto no debería ser un problema con las instalaciones respaldadas por ldap, con otros backends esto podría significar que el usuario tiene que iniciar sesión como "pato donald" en lugar de "pato Donald" si veo esto correctamente.

así que por ahora esto es más una solución sucia, pero tal vez alguien con más habilidades de desarrollo pueda mejorar esto.

Hola @smalchow : gracias por su análisis exhaustivo del problema. De hecho, Zammad (lo intenta, como podemos ver) reduce todos los identificadores (como por ejemplo el correo electrónico) para evitar exactamente este problema. Entonces tu solución es correcta. Esta es una solución alternativa para las bases de datos que distinguen entre mayúsculas y minúsculas para evitar consultas personalizadas o deficientes.

¡Sería genial si pudiera crear una solicitud de extracción para esto!

Ahhrrg .... Esto ya me molestó hace 7 años: D
https://bugs.otrs.org/show_bug.cgi?id=4732

OK no importa. Entendido. pistas. :)

Hola @muhammadn - Es genial tenerte de vuelta 👋 Puedes consultar nuestras pruebas RSpec para OTRS aquí: https://github.com/zammad/zammad/blob/develop/spec/lib/import/otrs/user_spec.rb

@thorsteneckel, ¿ no habrá más minitests y todas las nuevas pruebas serían rspec?

Si 🎉

Solucionado gracias a la solicitud de extracción # 1677 de @muhammadn 🚀

¿Fue útil esta página
0 / 5 - 0 calificaciones