我尝试使用Ldap配置Gitblit进行身份验证。我面临的唯一问题是当我在gitblit.properties中输入管理员凭据时,所有用户都会针对Ldap进行身份验证。但是,当我配置特定用户的凭据时,仅对该用户进行了身份验证,并且其余部分显示为无效。因此,是否始终需要在gitblit.properties文件中配置管理员凭据,因为我们的ldap管理员不会与我们共享管理员凭据。
答案 0 :(得分:0)
答案是“它取决于”。
但并不是需要“管理员凭证”。 realm.ldap.username
和realm.ldap.password
设置需要使用LDAP凭据进行配置,这些凭据对用户条目具有读取权限(如果要从LDAP检索组,则为组,即realm.ldap.maintainTeams
为{{1} })。因此,“管理”部分只能读取true
(和realm.ldap.accountBase
下的所有条目,如果需要),不包括用户密码。
如果要将用户(和组)从LDAP同步到Gitblit,则需要此类帐户,即您需要使用凭据设置realm.ldap.groupBase
和realm.ldap.username
,如上所述。
如果您只想验证用户身份,则还可以设置realm.ldap.password
设置。这将直接绑定用户条目而不首先搜索帐户。它要求登录的用户对LDAP中的组条目具有读访问权限,以防您从LDAP获得团队。
由于当前(1.8.0)Gitblit中的错误,realm.ldap.bindpattern
仍然用于至少绑定一次针对LDAP。这意味着您要么将其保留为空并且LDAP允许匿名绑定,要么将其设置为某些LDAP凭据以使绑定有效。在这种情况下,用于realm.ldap.username
的凭据不需要具有对所有用户或组条目的读取权限。这应该在下一个Gitblit版本中修复。