通过hgweb.config控制访问

时间:2011-08-23 18:21:55

标签: mercurial mercurial-server

我希望能够控制对我服务器上某些mercurial存储库的访问。我认为一个简单的解决方案是让所有受限用户都有一个以“_external”结尾的用户名。然后我会更改一些.hgrc文件中的deny_push和deny_read,以便根据需要提供访问权限。我设置了如下所示的hgweb.config文件,但是忽略了deny_push和deny_read行。 这是正确的语法吗?有没有更好的方法来实现我的目标(我查看了Rhodecode,但它似乎在Windows上非常崩溃)。

[web]
style = gitweb
baseurl = /hg
allow_push = *
push_ssl = false
deny_push = *_external
deny_read = *_external

2 个答案:

答案 0 :(得分:2)

您拥有的最佳选择是使用用户名设置列表:

allow_push = user1, user2
deny_push = user3, user5
deny_read = user4

您的语法问题在于,您首先允许推送所有人,然后尝试限制用户。

答案 1 :(得分:1)

mercurial-server可以为您完成此操作。这意味着通过ssh而不是通过http连接到您的存储库,并使用ssh密钥对进行身份验证,但根据我的经验,无论如何都更方便。