Los usuarios de una importación OTRS deben fusionarse con una importación LDAP anterior.
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.
_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] "
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 🚀
Comentario más útil
@thorsteneckel, ¿ no habrá más minitests y todas las nuevas pruebas serían rspec?