gitweb和每个项目的http身份验证
我已经成功地在所有经过身份验证的用户都可以访问的apache vHost上设置了gitweb 服务器本身通过https提供了几个git存储库,并且每个用户/组都可以访问这些项目。例如,test1.git只能由组test1读取/写入,test2.git只能由组test2读取/写入 现在,我也只希望这些组在gitweb界面中看到它们相应的git存储库。是否可以为gitweb拥有这些细粒度访问权限 如果没有,是否有一个用于git的轻量级web gui,可以处理每个项目的基本http身份验证(以及以后的ldap身份验证) 编辑 为了让事情更清楚(评论中似乎有一些混乱): 例如:gitweb和每个项目的http身份验证,git,apache,gitweb,Git,Apache,Gitweb,我已经成功地在所有经过身份验证的用户都可以访问的apache vHost上设置了gitweb 服务器本身通过https提供了几个git存储库,并且每个用户/组都可以访问这些项目。例如,test1.git只能由组test1读取/写入,test2.git只能由组test2读取/写入 现在,我也只希望这些组在gitweb界面中看到它们相应的git存储库。是否可以为gitweb拥有这些细粒度访问权限 如果没有,是否有一个用于git的轻量级web gui,可以处理每个项目的基本http身份验证(以及以后的
- 有10个存储库(test1、test2、test10)
- 用户lockdoc在组test1和test3
- 使用用户名lockdoc和密码通过http进行身份验证后,该用户只能查看git项目test1和test3,不能浏览/查看任何其他项目
- 不需要在webinterface上写入(推送),因为这已经实现了
- 您可以定义一个gitweb访问,它将调用gitolite,请参见此脚本
- 您可以定义一个s,它也将调用gitolite(以允许或拒绝访问,具体取决于您的id)
- 没有GUI,但我建议使用这种细粒度
见此:
ScriptAlias /hgit/ @H@/sbin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"
<Location /hgit>
...
</Location>
您将在与gitolite关联的中注册您的用户/组/repo
@lockdoc_repos = test1 test3 # group of repo
repo @lockdoc_repos
R = lockdoc # read-only access for lockdoc
R = gitweb daemon # can be browsed
有关如何允许gitolite的创建者()自己浏览回购协议的更多信息,请参见“”。您希望对您的存储库有一个简单的只读视图(在这种情况下,GitWeb是合适的),还是希望管理存储库(在这种情况下,@VonC回答的gitolite是一个选项),我认为这个问题在堆栈中更合适。您可以尝试在需要不同身份验证设置(文件、方法等)的不同
或
部分中匹配不同的URL。根据您的编辑,我确认gitolite是适合此工作的工具。我已经用更多的细节编辑了我的答案。
@lockdoc_repos = test1 test3 # group of repo
repo @lockdoc_repos
R = lockdoc # read-only access for lockdoc
R = gitweb daemon # can be browsed