Les utilisateurs d'une importation OTRS doivent être fusionnés avec une importation LDAP précédente.
Les utilisateurs semblent être partiellement mis à jour, mais pas tous, en particulier, il semble que l'importation LDAP convertit tout en minuscules, alors que l'importation OTRS conserve la connexion telle quelle.
Nous pouvons voir que les utilisateurs avec userPrincipalName tels que "Givenname. [email protected] " sont créés, alors que "givenname. [email protected] " est mis à jour. L'utilisateur OTRS dans le premier est cependant toujours créé avec une connexion en minuscules.
Je peux également voir que dans le premier cas, il y a un numéro à 3 chiffres ajouté à la connexion, tel que
OTRS: [email protected] -> zammad: givenname. [email protected]
Ce comportement est le même pour tous les utilisateurs.
_thread # -: ajouter User.find_by (login: [email protected]) _
les utilisateurs avec toutes les minuscules sont comme ça
_thread # -: mettre à jour User.find_by (login: [email protected]) _
lorsque je recherche le premier utilisateur dans zammad en utilisant
_User.find_by (e-mail: '[email protected]') _
je ne trouve pas l'utilisateur, si je recherche en minuscules
_User.find_by (e-mail: '[email protected]') _
je le trouve, mais la connexion est comme ça
login: "ggggg. [email protected] "
Peut-être que j'ai résolu le problème, (du moins pour moi)
J'ai changé 2 fichiers dans lib / import / otrs
user.rb
customer_user.rb
dans chacun des fichiers j'ai ajouté ceci
_mapped[:login].downcase!_
en dessous de la ligne 70. (strictement pas nécessaire dans le user.rb je pense, mais je ne suis pas un développeur)
Cela ne devrait pas être un problème avec les installations soutenues par LDAP, avec d'autres backends cela pourrait signifier que l'utilisateur doit se connecter en tant que "donald duck" au lieu de "Donald Duck" si je vois cela correctement.
donc pour l'instant c'est plus une solution sale, mais peut-être que quelqu'un avec plus de compétences en développement peut améliorer cela?
Salut @smalchow - Merci pour votre analyse complète du problème. En fait, Zammad (essaie comme nous pouvons le voir) réduit tous les identifiants (comme par exemple l'e-mail) pour éviter exactement ce problème. Votre solution est donc correcte. Il s'agit d'une solution de contournement pour les bases de données sensibles à la casse pour éviter les requêtes personnalisées / inopérantes.
Ce serait formidable si vous pouviez créer une pull request pour cela!
Ahhrrg .... Cela m'a déjà mis sur écoute il y a 7 ans: D
https://bugs.otrs.org/show_bug.cgi?id=4732
OK ne t'inquiète pas. j'ai compris. astuces. :)
@thorsteneckel donc plus de minitests et tous les nouveaux tests seraient rspec?
Oui 🎉
Correction grâce à la pull request # 1677 par @muhammadn 🚀
Commentaire le plus utile
@thorsteneckel donc plus de minitests et tous les nouveaux tests seraient rspec?