GitLab 更改 LDAP 绑定用户名结构
GitLab Change LDAP bind username structure
我想更改 Gitlab 验证 AD 身份验证的方式,因为它将请求发送为 "CN=user ou=xx dc=xx"。但是 AD 需要它作为 Domain\user 发送。如何更改 Gitlab 配置以在绑定请求中发送“domain\username”?
或者为什么 Windows AD 会拒绝身份验证?
下面是我的 LDAP 配置
gitlab_rails['ldap_servers'] = {
'main' => {
'label' => 'AD',
'host' => '10.0.0.1',
'port' => 389,
'uid' => 'sAMAccountName',
'base' => 'DC=AAA,DC=ORG,DC=LOCAL',
'bind_dn' => 'AAA\abcdefgh',
'password' => 'Password4',
'block_auto_created_users'=> 'true',
'active_directory' => true,
'lowercase_usernames' => true,
}
}
wireshark 镜像如下。
绑定密码发送数据包4。
绑定密码发送包18
Active Directory 不需要 登录格式为 domain\uid -- 这是绑定到 AD 时可以使用的三种有效 ID 格式之一通过 LDAP,但 uid@domain 和 LDAP 完全限定的 DN 同样有效。 GitLab 所做的是使用配置中的 bind_dn 和密码(wireshark #4)绑定到 AD,在配置为 'base' 的基础上搜索 (&(sAMAccountName=*user supplied uid*))
(wireshark #11),returns 已识别帐户的完全限定 DN (wireshark #16),然后通过与完全限定 DN 和用户提供的密码 (wireshark #18) 绑定来验证用户的凭据。
52e(在绑定错误数据中)当用户 ID 与有效用户匹配但密码不正确时返回。是否为所提供的 ID 找到了正确的用户(即用户 是 在 dc=aaa,dc=org,dc=local 域中,并且可以在 Head [=21= 下找到]欧)?如果您 select 数据包 18,您将在数据包数据中看到密码——确认某些内容在传输过程中没有被损坏或输入错误。
我想更改 Gitlab 验证 AD 身份验证的方式,因为它将请求发送为 "CN=user ou=xx dc=xx"。但是 AD 需要它作为 Domain\user 发送。如何更改 Gitlab 配置以在绑定请求中发送“domain\username”?
或者为什么 Windows AD 会拒绝身份验证?
下面是我的 LDAP 配置
gitlab_rails['ldap_servers'] = {
'main' => {
'label' => 'AD',
'host' => '10.0.0.1',
'port' => 389,
'uid' => 'sAMAccountName',
'base' => 'DC=AAA,DC=ORG,DC=LOCAL',
'bind_dn' => 'AAA\abcdefgh',
'password' => 'Password4',
'block_auto_created_users'=> 'true',
'active_directory' => true,
'lowercase_usernames' => true,
}
}
wireshark 镜像如下。
绑定密码发送数据包4。
绑定密码发送包18
Active Directory 不需要 登录格式为 domain\uid -- 这是绑定到 AD 时可以使用的三种有效 ID 格式之一通过 LDAP,但 uid@domain 和 LDAP 完全限定的 DN 同样有效。 GitLab 所做的是使用配置中的 bind_dn 和密码(wireshark #4)绑定到 AD,在配置为 'base' 的基础上搜索 (&(sAMAccountName=*user supplied uid*))
(wireshark #11),returns 已识别帐户的完全限定 DN (wireshark #16),然后通过与完全限定 DN 和用户提供的密码 (wireshark #18) 绑定来验证用户的凭据。
52e(在绑定错误数据中)当用户 ID 与有效用户匹配但密码不正确时返回。是否为所提供的 ID 找到了正确的用户(即用户 是 在 dc=aaa,dc=org,dc=local 域中,并且可以在 Head [=21= 下找到]欧)?如果您 select 数据包 18,您将在数据包数据中看到密码——确认某些内容在传输过程中没有被损坏或输入错误。