在mercurial的allow_read、allow_push等中使用组

问题描述 投票:0回答:2

我想知道是否可以使用在allow_read和/或allow_push等中的apache authgroup文件中指定的组。

所以基本上我所做的就是使用带有 authfile 和 authgroup 文件的 apache 来对用户进行身份验证。 现在我想限制某些使用allow_read的存储库向authgroup文件中指定的特定组中的用户显示。

假设我的 auth 文件中有 sam、frodo 和 sauron,并且我的 authgroup 文件中有一个包含 sam 和 frodo 的霍比特人组。

所以不要写:

allow_read = 弗罗多,山姆

我试过了

allow_read = @hobbits

但这似乎不起作用。有人知道这是否真的受支持吗?这个想法是,如果我说 10 个存储库仅对霍比特人可读,并且我添加了一个霍比特人,我只需更改 authgroup 和 auth 文件,而不是每个存储库 hgrc 文件。

authentication mercurial authorization
2个回答
2
投票

Mercurial 没有任何内置的组支持。有一个用户提供了一个补丁,添加了组支持,但编码人员似乎不愿意默认包含它,他们希望贡献者用它制作一个插件。截至 2013 年 4 月,他们似乎已经接受了它,但我在 Ubuntu (2.7) 目前附带的版本中仍然看不到它的踪迹。

按照 Joel 的建议,当您拥有多个存储库时,在 Apache 中控制组不会为您提供任何细粒度的控制,因此它没有用(至少对我而言)。

我最终使用了开源工具SCM-Manager。 SCM-Manager 充当 SVN、Git 和 Mercurial 的前端,支持各种用户目录(包括 LDAP 和 Crowd)以及自己的用户目录。

我正在使用 mod_proxy 将其集成到我的 Apache 配置中,并且效果很好。


0
投票

看来您需要在 Apache 中而不是在

hgrc
文件中进行组控制,因为 hgrc
文档仅提到用户名。

您需要阅读“发布存储库”页面上的“配置 Apache”。第7.4节似乎包含您设置所需内容所需的信息。

© www.soinside.com 2019 - 2024. All rights reserved.