Benutzer aus einem OTRS-Import sollten mit einem vorherigen LDAP-Import zusammengeführt werden.
Die Benutzer scheinen teilweise aktualisiert zu sein, aber nicht alle. Insbesondere sieht es so aus, als ob der LDAP-Import alles in Kleinbuchstaben konvertiert, wobei beim OTRS-Import die Anmeldung unverändert bleibt.
Wir können sehen, dass Benutzer mit userPrincipalName wie "Givenname. [email protected] " erstellt werden, während "givenname. [email protected] " aktualisiert wird. Der OTRS-Benutzer im ersten wird jedoch weiterhin mit einem Login in Kleinbuchstaben erstellt.
Ich kann auch sehen, dass im ersten Fall eine dreistellige Nummer an das Login angehängt ist, wie z
OTRS: [email protected] -> zammad: Givenname. [email protected]
Dieses Verhalten ist für alle Benutzer gleich.
_thread # -: Benutzer.find_by hinzufügen (Login: [email protected]) _
Die Benutzer mit Kleinbuchstaben sind so
_thread # -: Update User.find_by (Login: [email protected]) _
wenn ich nach dem ersten benutzer in zammad suche mit
_User.find_by (E-Mail: '[email protected]') _
Ich finde den Benutzer nicht, wenn ich mit Kleinbuchstaben suche
_User.find_by (E-Mail: '[email protected]') _
Ich finde ihn, aber der Login ist so
Login: "ggggg. [email protected] "
Vielleicht habe ich das Problem gelöst (zumindest für mich)
Ich habe 2 Dateien in lib / import / otrs geändert
user.rb
customer_user.rb
In jeder der Dateien habe ich dies hinzugefügt
_mapped[:login].downcase!_
unter Zeile 70. (streng genommen nicht notwendig in der user.rb denke ich, aber ich bin kein Entwickler)
Dies sollte bei ldap-gestützten Installationen kein Problem sein. Bei anderen Backends kann dies bedeuten, dass sich der Benutzer als "Donald Duck" anstelle von "Donald Duck" anmelden muss, wenn ich dies richtig sehe.
Im Moment ist dies also eher eine schmutzige Lösung, aber vielleicht kann jemand mit mehr Entwicklungsfähigkeiten dies verbessern?
Hi @smalchow - Vielen Dank für Ihre umfassende Analyse des Problems. Tatsächlich führt Zammad (wie wir sehen können) alle Bezeichner (wie z. B. die E-Mail) herunter, um genau dieses Problem zu vermeiden. Ihre Lösung ist also richtig. Dies ist eine Problemumgehung für Datenbanken, bei denen zwischen Groß- und Kleinschreibung unterschieden wird, um benutzerdefinierte / nicht leistungsfähige Abfragen zu vermeiden.
Wäre toll, wenn Sie eine Pull-Anfrage dafür erstellen könnten!
Ahhrrg .... Das hat mich schon vor 7 Jahren nervt: D.
https://bugs.otrs.org/show_bug.cgi?id=4732
Ok, vergiss 'es. verstanden. Hinweise. :) :)
@thorsteneckel also keine minitests mehr und alle neuen tests wären rspec?
Ja 🎉
Behoben dank der Pull-Anfrage # 1677 von
Hilfreichster Kommentar
@thorsteneckel also keine minitests mehr und alle neuen tests wären rspec?