我已经使用LDAP身份验证设置了我的git repos。一切正常,除了Git允许在提交时只提供任何东西作为提交者或作者名称。我需要Git将LDAP认证用户作为提交者和作者名称。我不想让团队中的任何人放任何他们想要的东西。
目前我们正在尝试Egit(Eclipse的插件),它需要author和commiter字段。但我仍然看到提交命令也允许在那里放任何东西。所以它似乎是一个Git功能。它与分发的事实有关吗?
在我读过有关使用LDAP进行身份验证的问题中,似乎没有人对此感到困扰。起初我认为我为此做的手动Apache设置(在Q' s和A' s这里找到)是问题所在,但是使用Gitblig可以充分利用这个设置,它是相同的。
所以问题是:我可以使用LDAP用户作为提交者/作者名称提交GIT repos吗?
答案 0 :(得分:2)
我仍然惊讶于git的这种行为似乎是好的,因为我甚至可以对作者的名字进行处理,没有人能够确定谁真正承诺。
这是分布式系统的自然结果:用户无权访问集中式身份验证服务器,因此“标记”(表示其用户名的字符串)用于作者和提交者。
在我的公司,使用gitolite,我设置了一个脚本,检查至少所有推送的提交是由LDAP验证的用户提交的。
gitolite knows the user as $GL_USER
,我check each commits。
这显然不是一般解决方案,因为它阻止用户推送任何重新提交的提交,其中包括来自其他人的提交。但在我的特定设置中,这个工作流程很有效。
更通用的解决方案仍然是 signing the commits 。
git commit -a -S -m 'signed commit'
启动git 2.6,检查已签名提交(使用git verify-commit
)的自动化将更加容易:请参阅“Verifying signed git commits?”