我发现您的文章使用 Apache Auth 和 gitweb、gitosis。
我想知道如果我不使用 LDAP 进行身份验证,是否有办法做到这一点。我们目前有一个非常大的 NIS 域,用于在所有 UNIX 服务器上进行身份验证。
我们通过 UI 将其用于 SVN 存储库,但对于本例,我试图满足以下要求:
- Git 存储库
- 访问控制 - 使用 Gitolite
- 在线 UI - 使用 Gitweb
- UI 还必须具有访问控制 - 尚未实现
我首先想的是,我需要让 Gitweb 和 Gitolite 一起运行,而现在每个都可以单独工作。
如果 gitolite 使用 SSH 密钥提供访问权限,那么它可以通过为用户/开发人员将从中访问 Gitweb/gitolite 的每台计算机拥有一个密钥来以这种方式提供访问权限。
或者,如果我可以让 gitweb 简单地对来自 NIS 域的用户进行身份验证,因为每个用户都有一个我们 IT 部门设置的帐户,这会更好。
我可以使用任何想法或方法来进一步满足此要求吗?
将 gitweb 和 gitosis 连接在一起的方式是:
- 具有与 NIS 登录名称相同的 gitweb 配置文件
- having gitweb.conf http://github.com/sitaramc/gitolite/blob/pu/contrib/gitweb/gitweb.conf (来自gitolite http://github.com/sitaramc/gitolite/tree/pu/contrib/gitweb/) 包括在gitweb_config.perl http://github.com/joemaller/Simple-Gitweb-Config/blob/master/gitweb_config.perl由此博客文章 http://joemaller.com/1596/faster-easier-gitweb-installation/(添加在末尾
gitweb_config.perl
:)
use lib (".");
require "gitweb.conf";
- using a NIS认证 http://www.yolinux.com/TUTORIALS/LinuxTutorialApacheAddingLoginSiteProtection.html#NIS为你的 Apache2
httpd.conf
(or extra/httpd-ssl.conf
如果您使用的是 https)
一旦用户通过身份验证(无论是使用基本身份验证、LDAP 身份验证还是 NIS 身份验证),$cgi->remote_user
将被设置,这就是将(通过 gitolite gitweb.conf)传递到管理 Git 访问权限(ACL)的 gitolite perl 脚本的登录名。
Git ACL 仍然由 ssh 密钥管理,并且独立于登录机制,除了登录部分使 gitolite 能够进行正确的帐户关联。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)