Windows上的Mercurial服务器使用Active Directory进行身份验证

时间:2010-02-16 18:50:24

标签: iis active-directory mercurial hgweb

我正在通过IIS在WinXP上运行Mercurial的hgwebdir.cgi,作为与我的团队共享代码的核心回购。我想在推送/拉动TortoiseHg和/或命令行hg客户端时使用ActiveDirectory对服务器进行身份验证。有没有人这样做或看过如何做到这一点的说明?

4 个答案:

答案 0 :(得分:25)

我知道这已经得到了一个可接受的答案,但我做了一个四部分博客文章,用于在IIS上使用Active Directory身份验证设置Mercurial并使用hgwebdir.cgi进行推送授权。它贯穿于整个过程:

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

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

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

答案 1 :(得分:6)

hgwebdir.cgi虽然可以进行授权,但并不是真正的身份验证。您可能希望在IIS配置中处理身份验证。 (我没有任何IIS经验,但至少它与Apache的工作方式有关。)

答案 2 :(得分:4)

身份验证由IIS完成。在IIS管理器中,允许在包含hgwebdir.cgi脚本的目录上进行基本身份验证。然后编辑基本身份验证设置并将默认域和域设置为您的域名。

在hgweb.config中添加

allow_push = <username>

替换您的用户名,以便能够执行推送的用户。 这对我有用。

干杯

答案 3 :(得分:1)

请原谅我的necroposting,但我刚刚发布了HgLab的alpha版本,它是适用于Windows的Mercurial Server,它支持开箱即用的Active Directory身份验证。