Mercurial(HG)版本控制服务用户名验证

在之前的文章中,在Windows使用apache搭建Mercurial版本控制服务,并没有说到如何验证用户,而是允许所有人都提交。当时还不会怎么配置。 以下就是配置方法:

1,用htpasswd.exe建立用户密码文件

htpasswd.exe在apache的bin目录可以找到,使用方法主要有 htpasswd -c 文件名 用户名               //参数-c创建密码文件,输入后会提示你输入密码 htpasswd 文件名 用户名                 //如果用户名一样会更新密码 举个例子,我现在要建两个用户

htpasswd -c hguser fatkun.com
htpasswd hguser aaaa

这时会得到一个hguser的文件,把它拷贝到conf目录下

2,修改httpd.conf配置

在httpd.conf配置最末尾加入,注意路径改为你的

<Location /hg>
    AuthType Basic
    AuthName "Mercurial repositories"
    AuthUserFile "D:/Program Files/Apache2.2/conf/hguser"
	<LimitExcept GET>
        Require valid-user
    </LimitExcept>
</Location>

这样就可以了,重启apache服务以后,试试从浏览器访问hg的网页?会提示你输入用户名和密码。

3,针对某些项目的权限设置

在服务器存放项目的文件中,在.hg目录新建一个hgrc文件,里面可以配置为
这里是配置单个项目的,如果需要对所有项目配置,可以修改hgweb.config文件

[web]
allowpull = false //不允许所有人下载该项目
allow_read = "John Doe, PhD", fatkun//允许哪些人可以下载,如果有空格或特殊字符用引号""括起来
//还有deny_read,allow_push 等等

更多的配置可以查看这里http://www.selenic.com/mercurial/hgrc.5.html

updatedupdated2023-12-062023-12-06