我想知道是否可以使用在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 文件。
Mercurial 没有任何内置的组支持。有一个用户提供了一个补丁,添加了组支持,但编码人员似乎不愿意默认包含它,他们希望贡献者用它制作一个插件。截至 2013 年 4 月,他们似乎已经接受了它,但我在 Ubuntu (2.7) 目前附带的版本中仍然看不到它的踪迹。
按照 Joel 的建议,当您拥有多个存储库时,在 Apache 中控制组不会为您提供任何细粒度的控制,因此它没有用(至少对我而言)。
我最终使用了开源工具SCM-Manager。 SCM-Manager 充当 SVN、Git 和 Mercurial 的前端,支持各种用户目录(包括 LDAP 和 Crowd)以及自己的用户目录。
我正在使用 mod_proxy 将其集成到我的 Apache 配置中,并且效果很好。