【发布时间】:2012-12-31 09:20:30
【问题描述】:
我已经成功地在所有经过身份验证的用户都可以访问的 apache vHost 上设置了 gitweb。
服务器本身通过 https 提供多个 git 存储库,并且每个用户/组都可以访问这些项目。例如 test1.git 只能被 test1 组读写,而 test2.git 只能被 test2 组读写。
现在我还希望只有这些组可以在 gitweb 界面中看到他们相应的 git 存储库。是否有可能对 gitweb 拥有这些细粒度的访问权限?
如果没有,是否有用于 git 的轻量级 web gui,可以处理每个项目的基本 http 身份验证(以及以后可能的 ldap 身份验证)?
编辑 只是为了让事情更清楚(因为 cmets 似乎有些混乱): 示例:
有 10 个存储库(test1、test2、... test10)
用户 lockdoc 在组 test1 和 test3
一旦使用用户名 lockdoc 和他/她的密码通过 http 进行身份验证,此用户只能看到 git 项目 test1 和 test3并且无法浏览/查看任何其他项目
无需在 Web 界面上写入(推送),因为这已经实现了
【问题讨论】:
-
你想要一个简单的、只读你的仓库的视图(在这种情况下 GitWeb 是合适的)还是你想要管理仓库(在这种情况下 gitolite @VonC 的回答是一个选项)?
-
顺便说一句,我认为这个问题更适合Server Fault Stack。
-
您可以尝试在需要不同身份验证设置(文件、方法等)的不同
<Location>或<LocationMatch>部分中匹配不同的URL。 -
我确认,根据您的编辑,gitolite 是适合这项工作的工具。我已经用更多细节编辑了我的答案。