OTRSインポートからのユーザーは、以前のLDAPインポートとマージする必要があります。
ユーザーは部分的に更新されているようですが、すべてではありません。具体的には、LDAPインポートがすべてを小文字に変換しているように見えますが、OTRSインポートはログインをそのまま保持します。
私たちは、このような「GIVENNAME。などのuserPrincipalNameを持つユーザーことがわかります[email protected]は一方で、」作成されている「givennameに。 [email protected] 」に更新されます。 ただし、最初のOTRSユーザーは、引き続き小文字のログインで作成されます。
また、最初のケースでは、ログインに3桁の数字が追加されていることがわかります。
OTRS:[email protected]> zammad:givenname。 [email protected]
この動作はすべてのユーザーで同じです。
_thread#-:User.find_by(login:[email protected])_を追加します
すべて小文字のユーザーは次のようになります
_thread#-:User.find_by(login:[email protected])_を更新します
zammadで最初のユーザーを検索するとき
_User.find_by(email:'[email protected] ')_
小文字で検索すると、ユーザーが見つかりません
_User.find_by(email:'[email protected] ')_
私は彼を見つけましたが、ログインはこのようなものです
ログイン: "GGGGG [email protected] "
多分私は問題を解決しました(少なくとも私にとっては)
lib / import / otrsの2つのファイルを変更しました
user.rb
customer_user.rb
私がこれを追加した各ファイルで
_mapped[:login].downcase!_
70行目より下。(user.rbでは厳密には必要ないと思いますが、私は開発者ではありません)
これは、LDAPでバックアップされたインストールでは問題にならないはずです。他のバックエンドでは、これが正しく表示されれば、ユーザーは「ドナルドダック」ではなく「ドナルドダック」としてログインする必要があります。
だから今のところこれはもっと汚い修正ですが、おそらくより多くの開発スキルを持っている人がこれをより良くすることができますか?
こんにちは@ smalchow-問題の包括的な分析をありがとう。 実際、Zammad(私たちが見ることができるようにしようとします)は、この問題を正確に回避するために、すべての識別子(たとえば電子メールなど)を小文字にします。 だからあなたの解決策は正しいです。 これは、大文字と小文字を区別するデータベースの回避策であり、カスタム/パフォーマンスの低いクエリを回避します。
このためのプルリクエストを作成できれば素晴らしいと思います!
Ahhrrg ....これはすでに7年前に私を悩ませました:D
https://bugs.otrs.org/show_bug.cgi?id=4732
分かった、気にしないで。 とった。 ヒント。 :)
こんにちは@ muhammadn-よろしくお願いします👋OTRSのRSpecテストはこちらで確認できます: https :
@thorsteneckelなので、ミニテストはもうなく、すべての新しいテストはrspecになりますか?
はい🎉
@muhammadnによるプルリクエスト#1677のおかげで修正されました🚀
最も参考になるコメント
@thorsteneckelなので、ミニテストはもうなく、すべての新しいテストはrspecになりますか?