【问题标题】:Controlling access via hgweb.config通过 hgweb.config 控制访问
【发布时间】:2011-08-23 18:21:54
【问题描述】:

我希望能够控制对我服务器上某些 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

【问题讨论】:

    标签: mercurial mercurial-server


    【解决方案1】:

    最好的选择是使用用户名设置一个列表:

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

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

    【讨论】:

    • 有没有办法用正则表达式配置文件,这样我就不必把每个用户都放在白/黑名单上?
    • 我认为你做不到。 Mercurial 读取配置文件并据此采取行动。
    【解决方案2】:

    mercurial-server 可以为您做到这一点。这意味着通过 ssh 而不是通过 http 连接到您的存储库,并使用 ssh 密钥对进行身份验证,但根据我的经验,无论如何这要方便得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 2011-07-24
      相关资源
      最近更新 更多