使用Active Directoryauthentication和授权设置Mercurial

我正在评估将我的组织迁移到Mercurial的可能性,但是我正在磕磕绊绊地find两个基本的要求,我找不到合适的指针。

如何设置Mercurial的中央存储库以使用中央Active Directory对用户进行身份validation,并且只有在拥有正确的凭据时才允许他们进行推送或拉取操作?

我如何设置一个Mercurial项目资源库,以便只允许属于特定组的用户推/拉源代码? 我们需要这个每个项目的授权。

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

道歉,如果我问一些明显的东西,或者如果我错过了authentication和授权如何工作的根本。

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

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

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

我希望这对人们有用

你可以用Apache来做。 检查如何限制在Apache的推送在:

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

关于如何configurationmercurial,它的权限以及Apache允许的所有用户,请参阅上面的相同文件。

安装好mercurial和Apache之后,可以使用mod_authnz_ldap来仅允许访问Active Directory用户:

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

不要忘记检查Active Directoryconfiguration的段落。

这对你来说应该够了。

祝你好运,
JoãoMiguel Neves