Gitlab登录没有电子邮件的LDAP用户

时间:2014-01-30 14:59:30

标签: ldap gitlab

在我的组织中,有些用户没有电子邮件地址。在ActiveDirectory的电子邮件字段中,他们有一个伪造的(格式错误的)电子邮件地址,例如“user.name@xx”。

当这些用户尝试登录Gitlab时,会出现以下错误:

'无法通过LDAP授权您,因为“验证失败:电子邮件无效,电子邮件无效”。'

是否有任何配置忽略使用LDAP进行电子邮件地址检查?

1 个答案:

答案 0 :(得分:0)

issue 6230一直在跟踪此事:

  

用户模型的邮件验证通过验证执行:app/models/user.rb

     

我认为您可以在此处配置自己的正则表达式:config/initializers/devise.rb


然而,官方声明是:

  

禁用验证不会在GitLab端完成。这可能导致数据库不一致,并可能导致过多的问题。

     

我建议你:

  

这是一个支持问题,所以我会指出contributing guide并关闭它。


不直接使用GitLab本身,因为该错误消息是 omniauth 回调的结果:请参阅config/locales/devise.en.yml

omniauth_callbacks:
  success: 'Successfully authorized from %{kind} account.'
  failure: 'Could not authorize you from %{kind} because "%{reason}".'

然而,Rodrigo Carvalho报告in the comments

  

我实际上发现这是一个Gitlab行为。

     

我更改了“/lib/gitlab/oauth/user.rb”(Gitlab代码),在无效的电子邮件地址末尾附加了“.com”,并且有效。