Zammad: LDAP导入大写问题后的OTRS导入

创建于 2017-11-23  ·  8评论  ·  资料来源: zammad/zammad

资讯:

  • 二手Zammad版本:zammad-2.1.0
  • 二手Zammad安装源:rpm软件包
  • 操作系统:CentOS 7
  • 浏览器+版本:

预期行为:

来自OTRS导入的用户应与先前的LDAP导入合并。

实际行为:

用户似乎已部分更新,但不是全部更新,特别是看起来LDAP导入将所有内容都转换为小写,而OTRS导入则使登录保持原样。

我们可以看到通过UserPrincipalName用户如“给定名称。 [email protected] ”的创建,而“给定名称。 [email protected] ”被更新。 但是,第一个中的OTRS用户仍然使用小写登录名创建。

我也看到在第一种情况下,在登录名后面附加了3位数字,例如

OTRS:[email protected]> zammad:Givenname。 [email protected]

对于所有用户,此行为都是相同的。

重现行为的步骤:

  • 将一个目录与几个用户一起使用,例如Givenname。 [email protected]和一些类似的给定名称。 [email protected]
  • 首先导入LDAP用户(在我们的示例中,“ lib / ldap / user.rb:61”中的“ samaccountname”和“ userprincipalname”的顺序已更改)
  • 然后按照文档中所述从OTRS导入票证和用户。
  • 检查日志文件,用户名为Givenname。 [email protected]就像这样

_thread#-:添加User.find_by(登录名:[email protected])_

所有小写​​字母的用户都是这样

_thread#-:更新User.find_by(登录名:[email protected])_

当我使用以下内容在zammad中搜索第一个用户时

_User.find_by(电子邮件:“ [email protected]”)_

如果我用小写字母搜索,我找不到用户

_User.find_by(电子邮件:“ [email protected]”)_

我找到他,但登录名是这样的

登录名:“ ggggg。[email protected]

bug import verified

最有用的评论

@thorsteneckel,所以不再有minitests了,所有新测试都将是rspec吗?

所有8条评论

也许我解决了这个问题,(至少对我来说)

我在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-很高兴您回来back您可以在此处检查我们的OTRS的RSpec测试: https :

@thorsteneckel,所以不再有minitests了,所有新测试都将是rspec吗?

是的🎉

由于@ muhammadn🚀的拉取请求#1677

此页面是否有帮助?
0 / 5 - 0 等级