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"
    Require valid-user
</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

 

 

文章转载自:http://fatkun.com/2010/10/mercurial-authentication.html

你可能感兴趣的:(apache,C++,c,浏览器,C#)