Authentication Gitlab阻止用户在ldap dn中出现区分大小写的差异错误

Authentication Gitlab阻止用户在ldap dn中出现区分大小写的差异错误,authentication,ldap,gitlab,Authentication,Ldap,Gitlab,我试图将gitlab与ldap连接起来,以集中我的身份验证 我在尝试登录时遇到问题,因为gitlab阻止了用户 用户所在的基本dn是ou=People,dc=dominio,dc=com 当我尝试登录时,所有工作正常,直到Gitlab进行同步并阻止用户,因为在Gitlab数据库上,基本dn保存在lowcase中 LDAP帐户uid=user1,ou=people,dc=dominio,dc=com不再存在,阻止了GitLab用户Usuariouser1@dominio.com Gitlab能够从

我试图将gitlab与ldap连接起来,以集中我的身份验证

我在尝试登录时遇到问题,因为gitlab阻止了用户

用户所在的基本dn是ou=People,dc=dominio,dc=com 当我尝试登录时,所有工作正常,直到Gitlab进行同步并阻止用户,因为在Gitlab数据库上,基本dn保存在lowcase中

LDAP帐户uid=user1,ou=people,dc=dominio,dc=com不再存在,阻止了GitLab用户Usuariouser1@dominio.com

Gitlab能够从DAP中读取用户的所有信息,还可以在Gitlab系统上创建用户全名、电子邮件等

用户Usuariouser1@dominio.com创建 但后来阻止了用户,im无法登录,每次我手动取消阻止时,gitlab都会再次阻止

以下是所有流程:

用户Usuariouser1@dominio.com创建 LDAP保存用户user1@dominio.com使用admin=>false、extern\u uid=>uid=user1、ou=people、dc=dominio、dc=com登录 LDAP帐户uid=user1,ou=people,dc=dominio,dc=com不再存在,阻止了GitLab用户Usuariouser1@dominio.com

当我签入用户配置文件时,他们会显示以下信息: LDAP uid:uid=user1,ou=people,dc=dominio,dc=com

在LDAP中,实际路径是: uid=user1,ou=People,dc=dominio,dc=com


你知道我是如何告诉gitlab重新审视超级大小写还是不区分大小写的吗?

LDAP本身是不区分大小写的,所以在对LDAP的查询中这并不重要。GitLab尝试将所有DNs规范化为小写,然后再比较其一侧的值,因为GitLab本身是区分大小写的

考虑到这一点,我不清楚你在哪里遇到了问题。如果它真的与案件有关,听起来可能是个bug。也有可能是另一个问题导致用户同步阻止您的用户


如果您有明确的复制步骤,那么最好的办法可能是在以下位置创建一个问题。用~ldap标记问题并ping me@dblessing。很高兴尝试繁殖

我终于找到了解决办法

用户过滤器:我以前遇到了一些问题,不支持omniauth ldap的自定义过滤器语法

我在用

user_filter: '(&(objectclass=*)(memberof=cn=gitlab,ou=Groups,dc=dominio,dc=com)(uid=%{username}))'
但我换成了简单的睡衣:

user_filter: '(memberof=cn=infra_gitlab,ou=Groups,dc=dominio,dc=com)'

然后开始工作…

为什么?LDAP不区分大小写。它不在乎。你为什么要这样做?这不区分大小写。同样的问题,但我不使用任何用户过滤器。用户已正确创建,但其状态为ldap_阻止,不允许登录。