当前环境:

  • 亚特实验室服务器: 森托斯 6.5
  • 活动目录: Windows Server 2008 R2

任何人都可以检查 Gitlab 7.1.1 中 Ldap 身份验证的这些虚构设置吗?

gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_host'] = 'myserver.dom.com.net'
gitlab_rails['ldap_port'] = 389
gitlab_rails['ldap_uid'] = 'sAMAccountName'
gitlab_rails['ldap_method'] = 'plain' # 'ssl' or 'plain'
gitlab_rails['ldap_bind_dn'] = 'OU=Users,DC=dom,DC=com,DC=net'
gitlab_rails['ldap_password'] = '????'
gitlab_rails['ldap_allow_username_or_email_login'] = true
gitlab_rails['ldap_base'] = 'DC=dom,DC=com,DC=net'

哪个 ldap_bind_dn 必须进行设置才能使 Gitlab 正常工作(相当于用户帐户)?

哪个 ldap_密码 必须设置Gitlab才能工作吗?

我遵循了以下建议:@metaDiego 和@heinglandreas。两者都走在正确的道路上。所以我修改了以下行中的设置:

解决方案

gitlab_rails['ldap_bind_dn'] = 'CN=the_allowed_user_for_access_ldap,OU=Users,DC=dom,DC=com,DC=net'
gitlab_rails['ldap_password'] = 'the_password_of_allowed_user'

ldap_bind_dn 可能会根据 AD 结构和允许用户所在的当前级别而有所不同。

我的公司 AD 不允许匿名 Ldap 查询。因此添加这些参数是强制性的。

在域管理员中搜索帮助来获取这些参数。

有用的文章来自 gitlabhq 在Github

如果 gitlab_rails['ldap_allow_username_or_email_login'] = true, ,登录用户可以是邮箱格式,也可以是域用户。

Gitlab authentication form

有帮助吗?

解决方案

ldap_bind_dn 必须是 DN 用户 具有对 LDAP 的读取访问权限。据我所知,您正在指向一个目录结构 OU=Users,DC=dom,DC=com,DC=net. 。您必须使用该用户密码“``

所以 ldap_bind_dn 应该读类似的东西 uid=userid,OU=Users,DC=com,DC=com,DC=netldap_password 那么应该是 userid的密码。

在某些 LDAP 服务器上 ldap_bind_dn 在允许的情况下可以留空 匿名绑定. 。在这种情况下 ldap_password 也必须留空。

那有意义吗?否则请随意发表评论!

其他提示

我有一个可用的 GitLab LDAP conf,并且 password 字段必须与 bind_dn 您选择的用户。

gitlab_rails['ldap_base'] = 'ou=somehting,dc=foo,dc=bar'
gitlab_rails['ldap_bind_dn'] = 'uid=SOMEONE,ou=somehting,dc=foo,dc=bar'
gitlab_rails['ldap_password'] = 'SOMEONE_PASSWORD'
  • ldap_base 是您搜索用户的地方

  • ldap_bind_dn 是“允许外部 LDAP 服务器上的用户在定义的搜索库中搜索 LDAP 目录。”

  • ldap_password 是密码 bind_dn 用户。所以在你的情况下它必须与用户匹配 OU=Users的密码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top