不带电子邮件的Gitlab登录LDAP用户

不带电子邮件的Gitlab登录LDAP用户,ldap,gitlab,Ldap,Gitlab,在我的组织中,有些用户没有电子邮件地址。在ActiveDirectory的“电子邮件”字段中,他们有一个虚假(格式错误)的电子邮件地址,类似于“用户”。name@xx“ 当这些用户尝试登录Gitlab时,会出现以下错误: '无法从LDAP授权您,因为“验证失败:电子邮件无效,电子邮件无效”。' 是否有任何配置可以忽略LDAP的电子邮件地址检查?一直在跟踪: 用户模型上的邮件验证由以下验证执行: 我认为您可以在此处配置自己的regexp: 然而,官方声明是: 禁用验证不是GitLab端要做的事情

在我的组织中,有些用户没有电子邮件地址。在ActiveDirectory的“电子邮件”字段中,他们有一个虚假(格式错误)的电子邮件地址,类似于“用户”。name@xx“

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

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

是否有任何配置可以忽略LDAP的电子邮件地址检查?

一直在跟踪:

用户模型上的邮件验证由以下验证执行:

我认为您可以在此处配置自己的regexp:


然而,官方声明是:

禁用验证不是GitLab端要做的事情。这可能导致数据库中的不一致,并可能导致过多的问题

我建议你:

  • 或者修复您的LDAP
  • 或者启用
    allow\u username\u或\u email\u login
    设置:
这是一个支持问题,因此我将向您指出并关闭它


不能直接使用GitLab本身,因为错误消息是回调的结果:请参阅:

然而,报告指出:


我发现这是Gitlab的行为

我将“”(Gitlab代码)更改为在无效电子邮件地址的末尾附加一个“
.com
”,它成功了


好的,谢谢你的回答。我给omniauth的人发了帖子:我发现这是Gitlab的行为。我将“/lib/gitlab/oauth/user.rb”(gitlab代码)更改为在无效电子邮件地址的末尾附加一个“.com”,这样做有效。我应该在Github开一张票吗?@RodrigoCarvalho听起来很棒!我已将您的发现添加到答案中,以获得更高的可见性,并提供了指向
user.rb
源代码的链接。这确实是一个很好的拉取请求候选,或者至少是GitLab需要考虑的问题。谢谢@VonC。我开了一张罚单,因为我对这个问题的“解决方案”(在地址后面附加“.com”)不是一个很好的解决方案。这是票:@RodrigoCarvalho好的,我会监控那张票。
omniauth_callbacks:
  success: 'Successfully authorized from %{kind} account.'
  failure: 'Could not authorize you from %{kind} because "%{reason}".'