自动 LDAP 登录 Gitlab

自动 LDAP 登录 Gitlab

我正在运行 Apache 2.2 和 Gitlab 6。在 Debian Wheezy 上安装 OpenLDAP 并设置 Gitlab 后,我可以使用 LDAP 凭据登录 Gitlab。但我想知道是否有办法从 Apache 2.2 Basic Auth 向 Gitlab 提供 LDAP 登录凭据。尽管如此,在 Apache 和 Gitlab 中启用后,我必须登录两次。(对于 Mantis,我也需要这种行为)

编辑 我做了一个错误的假设。当使用 LDAP 向 Apache 进行身份验证时,这是一个 HTTP Basic Auth。因此,Gitlab 必须接受HTTP_REMOTE_USER来自 Apache 的基本身份验证凭据 (),才能根据 Gitlab 自己的用户数据库登录用户。据我所知,有一些努力,但此补丁仅适用于 Gitlab 6(我使用的是 6.2 版)。正如您在倒数第二条评论中看到的这里看来,Gitlab将会为企业版开发这样的功能。

答案1

我一直有同样的问题。我想通过 kerberos/AD 进行身份验证,经过身份验证的用户使用 LDAP 属性。Apache 获取其凭据并设置 HTTP_REMOTE_USER 并将其转发给 unicorn,但 unicorn 不知道如何处理它。解决方案是在标头中强制转发此变量,让 unicorn 检索它,然后 gitlab 完成这项工作。

RewriteEngine On
RewriteCond %{LA-U:REMOTE_USER} (.*)
RewriteRule . - [E=RU:%1,NS]
RequestHeader set REMOTE_USER "%{RU}e" env=RU

你可能想看看我的问题这将提供更多信息。目前,这个问题(不幸的是)在我的案例中没有得到解决,这意味着 Kerberos :/ 但对于你的情况,它应该可以工作。

相关内容