我想说服我的老板,我们应该使用git进行版本控制。 他说,它绝对必须通过我们的中央LDAP服务器validation用户。
我看了各种解决scheme(gitweb,gitorious …),并且不能真正find关于它们是否支持LDAP身份validation的明确答案。
我能find的唯一解决scheme是Apache + mod_ldap设置。 但是,这意味着在LDAP上进行身份validation的用户不一定会与实际的git用户相同,对吧? (这不是一个很大的问题,而只是一些会让我烦恼的东西。)
那么,通过LDAPvalidationgit用户的最好方法是什么?
虽然密钥用于大多数公共混帐服务,真正的身份validation通过SSH发生。 SSH更能够对ldap进行身份validation。 就git而言,一旦你有权访问文件,你可以去镇上。
UPDATE
Git现在支持(从今年开始,谁知道呢?)一个聪明的http推送机制。 旧的方法是使用webdav服务器,但是抓取和推送都非常慢并且效率低下。 现在你可以通过http获得几乎相同的速度,就像你会ssh://或者git://一样。 这意味着你可以使用apache或者nginx,并使用你想要的任何httpauthenticationscheme。 (Ldap,数据库等)
亲git和github的更多信息。
您可以使用预接收git钩子脚本查找/开发git后端身份validation。 他们不一定需要成为一个shell脚本。
比如说,如果你看看那个有前途的有效钩子 ,你就会看到用这个方法来validation那个正在尝试使用Ruby脚本进入远程仓库的人。 如果你愿意并花一点时间在上面,你可以用你最喜欢的语言和它的ldap库来做同样的事情:-)