使用 Active Directory 身份验证和授权设置 Mercurial

19 active-directory ldap authentication mercurial

我正在评估将我的组织转移到 Mercurial 的可能性,但是我遇到了两个基本要求,我找不到合适的指针。

我如何设置 Mercurial 的中央存储库以使用中央 Active Directory 对用户进行身份验证,并且只允许他们在拥有正确凭据的情况下进行推送或拉取?

如何设置 Mercurial 项目存储库以仅允许属于特定组的用户推送/拉取源代码?我们需要这个来获得每个项目的授权。

在哪些 HTTP 服务器(IIS 或 Apache 等)上支持上述两个要求?

如果我问的是一些明显的问题,或者我遗漏了有关身份验证和授权工作原理的一些基本知识,我深表歉意。

Ben*_*ter 6

我写了一篇四部分的博客文章,在 IIS 上使用 Active Directory 身份验证设置 Mercurial,并使用 hgwebdir.cgi 进行推送授权。它贯穿了整个过程:

  • 在 IIS 上设置 Mercurial 的 hg Web 界面。
  • 为 Mercurial 设置 IIS 身份验证,以便只有活动目录授权的用户(即安全组/用户)才能通过 hg Web 界面或文件系统查看/访问存储库。
  • 为 Mercurial 用户配置 Active Directory 身份验证,因此只有授权用户才能查看/访问他们有权访问的存储库。
  • 通过 hgweb.config 配置 hgwebdir.cgi 以设置指定用户对存储库的推送授权。
  • 在存储库的 URL 中使用 Helicon 的 ISAPI Rewrite 隐藏 hgwebdir.cgi。
  • 根据您自己的喜好自定义 hg 网络用户界面的风格/感觉。

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

我希望它对人们有用......


jne*_*ves 4

您可以使用 Apache 来完成。检查如何限制 Apache 中的推送:

\n\n

http://mercurial.selenic.com/wiki/PublishingRepositories#pushing

\n\n

参见上面的同一个文件,了解如何配置 Mercurial、其权限以及 Apache 允许的所有用户。

\n\n

设置 Mercurial 和 Apache 后,您可以使用 mod_authnz_ldap 仅允许 Active Directory 用户访问:

\n\n

http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html

\n\n

不要忘记检查有关 Active Directory 配置的段落。

\n\n

这对你来说应该足够了。

\n\n

祝你好运,
\nJo\xc3\xa3o 米格尔·内维斯

\n