Zammad: Importação OTRS após problema de capitalização de importação de LDAP

Criado em 23 nov. 2017  ·  8Comentários  ·  Fonte: zammad/zammad

Infos:

  • Versão Zammad usada: zammad-2.1.0
  • Fonte de instalação Zammad usada: pacote rpm
  • Sistema operacional: CentOS 7
  • Navegador + versão:

Comportamento esperado:

Os usuários de uma importação OTRS devem ser mesclados com uma importação LDAP anterior.

Comportamento real:

Os usuários parecem estar parcialmente atualizados, mas não todos, especificamente parece que a importação LDAP converte tudo para minúsculas, enquanto a importação OTRS mantém o login como está.

Podemos ver que os usuários com userPrincipalName como "Givenname. [email protected] " são criados, enquanto "givenname. [email protected] " é atualizado. O usuário OTRS no primeiro, entretanto, ainda é criado com um login em minúsculas.

Também posso ver que no primeiro caso há um número de 3 dígitos anexado ao login, como

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

Este comportamento é o mesmo para todos os usuários.

Passos para reproduzir o comportamento:

  • Use um diretório com alguns usuários como Givenname. [email protected] e alguns como givenname. [email protected]
  • importe os usuários LDAP primeiro (em nosso caso, com a ordem alterada de "samaccountname" e "userprincipalname" em "lib / ldap / user.rb: 61"
  • em seguida, importe os tickets e usuários do OTRS conforme descrito na documentação.
  • verifique os arquivos de log, os usuários com Givenname. [email protected] são assim

_thread # -: add User.find_by (login: [email protected]) _

os usuários com todas as letras minúsculas são assim

_thread # -: update User.find_by (login: [email protected]) _

quando procuro o primeiro usuário no zammad usando

_User.find_by (email: '[email protected]') _

eu não encontro o usuário, se eu pesquisar com letras minúsculas

_User.find_by (email: '[email protected]') _

eu o encontro, mas o login é assim

login: "ggggg. [email protected] "

bug import verified

Comentários muito úteis

@thorsteneckel então não há mais minitestes e todos os novos testes seriam rspec?

Todos 8 comentários

Talvez eu tenha resolvido o problema, (pelo menos para mim)

Eu mudei 2 arquivos em lib / import / otrs

user.rb
customer_user.rb

em cada um dos arquivos eu adicionei este

    _mapped[:login].downcase!_

abaixo da linha 70. (estritamente não necessário no user.rb, eu acho, mas não sou um desenvolvedor)

Isso não deve ser um problema com instalações apoiadas por ldap; com outros back-ends, isso pode significar que o usuário tem que fazer o login como "pato Donald" em vez de "Pato Donald" se eu ver isso corretamente.

então, por enquanto, isso é mais uma solução suja, mas talvez alguém com mais habilidades de desenvolvimento possa fazer isso melhor?

Olá @smalchow - Obrigado por sua análise abrangente do problema. Na verdade, Zammad (tenta, como podemos ver) reduz todos os identificadores (como, por exemplo, o e-mail) para evitar exatamente esse problema. Portanto, sua solução está correta. Esta é uma solução alternativa para bancos de dados com distinção entre maiúsculas e minúsculas para evitar consultas personalizadas / informadoras.

Seria ótimo se você pudesse criar uma solicitação de pull para isso!

Ahhrrg .... Isso já me incomodou 7 anos atrás: D
https://bugs.otrs.org/show_bug.cgi?id=4732

Ok deixa pra lá. Entendi. dicas. :)

@thorsteneckel então não há mais minitestes e todos os novos testes seriam rspec?

Sim 🎉

Consertado graças ao pull request # 1677 por @muhammadn 🚀

Esta página foi útil?
0 / 5 - 0 avaliações