我已成功在apache vHost上为所有经过身份验证的用户设置了gitweb.
服务器本身通过https提供多个git存储库,并具有对这些项目的每个用户/组访问权限.例如,test1.git只能由组test1读取/写入,test2.git只能由组test2读/写.
现在我也只想让那些组在gitweb界面中看到相应的git存储库.是否可以为gitweb提供那些细粒度的访问权限?
如果没有,是否有一个轻量级的web gui for git,可以处理每个项目的基本http身份验证(以及稍后可能的ldap身份验证)?
编辑 只是为了让事情更清楚(因为评论似乎有些混淆):示例:
有10个存储库(test1,test2,... test10)
用户lockdoc在组test1和test3中
一旦使用用户名lockdoc和他/她的密码通过http进行身份验证,此用户只能看到git项目test1和test3,并且无法浏览/查看任何其他项目
不需要在Web界面上编写(推送),因为这已经实现了
没有 GUI,但我建议使用gitolite进行这种细粒度的授权。
请参阅此httpd.conf 以获取 LDAP 和 gitolite 访问:
https 配置如下所示:
ScriptAlias /hgit/ @H@/sbin/gitolite-shell/
SetEnv GIT_HTTP_BACKEND "@H@/usr/local/apps/git/libexec/git-core/git-http-backend"
<Location /hgit>
...
</Location>
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,您都可以使用基于 LDAP 的身份验证来保护这些 http 地址:
AuthName "LDAP authentication for ITSVC Smart HTTP Git repositories"
AuthType Basic
AuthBasicProvider myldap companyldap
AuthzLDAPAuthoritative Off
Require valid-user
Run Code Online (Sandbox Code Playgroud)
您将在与 gitolite 关联的gitolite.conf配置文件中注册您的用户/组/存储库。
@lockdoc_repos = test1 test3 # group of repo
repo @lockdoc_repos
R = lockdoc # read-only access for lockdoc
R = gitweb daemon # can be browsed
Run Code Online (Sandbox Code Playgroud)
有关如何允许浏览存储库的更多信息,请参阅“删除 R @all 规则后在 gitolite 中找不到测试/信息/参考”,作者是 gitolite 的创建者Sitaram ( Sitaram Chamarty )。
| 归档时间: |
|
| 查看次数: |
4976 次 |
| 最近记录: |