在mercurial的allow_read,allow_push等中使用组

时间:2011-07-19 10:18:40

标签: authentication mercurial authorization

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

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

假设我在我的auth文件中有sam,frodo和sauron,并且我在authgroup文件中有一个包含sam和frodo的组hobbits。

所以不要写:

allow_read = frodo,sam

我试过

allow_read = @hobbits

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

提前致谢

2 个答案:

答案 0 :(得分:2)

Mercurial没有任何内置组支持。有一个来自用户的补丁添加了组支持,但是编码器似乎在默认包含它时犹豫不决,他们希望贡献者从中创建一个插件。截至2013年4月,他们seem to have accepted it,但我仍然看不到Ubuntu(2.7)当前附带的版本中的痕迹。

如Joel所建议的,在Apache中控制组,如果你有多个存储库,则不会给你任何细粒度控制,所以它没用(至少不适合我)。

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

我正在使用mod_proxy将它集成到我的Apache配置中,并且它运行良好。

答案 1 :(得分:0)

您似乎需要在Apache而不是hgrc文件中进行组控制,因为documentation for hgrc仅提及用户名。

您希望在“发布存储库”页面上阅读Configuring Apache 7.4 部分似乎包含了设置所需内容所需的信息。