Chinaunix首页 | 论坛 | 博客
  • 博客访问: 479942
  • 博文数量: 95
  • 博客积分: 2117
  • 博客等级: 大尉
  • 技术积分: 2301
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-16 21:10
个人简介

辽宁铁岭人,现居大连。1970年生。 先后供职于 中国国际海运网、大连学堂科技、大连华仁视线网络科技有限公司、大连中科海云科技有限公司,任职技术总监。 精通PHP、JAVA、Javascript、HTML、CSS等网络编程技术及Linux操作系统。 精通面向对象编程、设计模式、重构及互联网产品设计。

文章分类

全部博文(95)

文章存档

2013年(31)

2012年(2)

2011年(34)

2010年(25)

2008年(3)

分类: WINDOWS

2011-10-25 13:28:14

按照 [转载]Mercurial(HG)版本控制服务用户名验证 的内容配置Apache服务器中Mercurial的用户名验证,遇到了一些问题,现总结如下:
1. 对于访问权限,除了文中的内容外,还要有order和allow from all的设置,即下面的红字:
  1.      Order Allow,Deny
  2.      Allow from all
  3.      AuthType Basic
  4.      AuthName "Mercurial repositories"
  5.      AuthUserFile "D:/zend/apache2/hgusers/hgusers.htpasswd"
  6.     
  7.         Require valid-user
  8.    
2. 除了可以写在Location段以外,也可以写在Directory段:
  1. ScriptAlias /hg "C:/xampp/htdocs/hgweb/hgweb.cgi"

  2. C:/xampp/htdocs/hgweb">
  3.     Order Allow,Deny
  4.     Allow from all
  5.     AuthType Basic
  6.     AuthName "Mercurial repositories"
  7.     AuthUserFile "D:/zend/apache2/hgusers/hgusers.htpasswd"
  8.    
  9.         Require valid-user
  10.    
3. 当将Require valid-user写在Limit段内时,在浏览器中直接访问是不会提示输入用户名密码的,因为这种配置下,只有当要求推、拉、写等动作时,才会要求用户权限,如果想访问时即要求提供用户名密码,应如下配置:
  1. ScriptAlias /hg "C:/xampp/htdocs/hgweb/hgweb.cgi"
  2.     <Directory "C:/xampp/htdocs/hgweb">
  3.         Order Allow,Deny
  4.         Allow from all
  5.         AuthType Basic
  6.         AuthName "Mercurial repositories"
  7.         AuthUserFile "D:/zend/apache2/hgusers/hgusers.htpasswd"
  8.         Require valid-user
  9.     </Directory>
4. 对于hgweb.config的WEB段,常用的有如下几个配置项:
  1. [web]
  2. allowpull = false
  3. allow-push = *
  4. deny-push = lisi
  5. allow-read = *
  6. deny-read = zhangsan

其中
allowpull的参数为ture和false,用于指定用户是否可以克隆库,默认为true。
allow-read和deny-read也用于用户克隆和拉(pull)库的权限指定,参数是*或者用户名列表,列表用逗号间隔,如用户名中包含逗号,需要把用户名用双引号括起来。
两者的关系是deny-read高于allow-read,即可以用allow-read = *来指定所有人都可以读取库,再用deny-read = "Tom, Li", zhangsan,来指定Tom, Li和zhangsan不能读取代码。
allow-push和deny-push也类似,是用于指定推(push)库的权限的。
push_ssl的参数为true和false,用于指定是通过http还是https协议推访问。默认为true。如果这时通过http进行推送,则会显示包含"Required: SSL"的错误提示。

阅读(1578) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~