我在 WinXP over IIS 上运行 Mercurial 的 hgwebdir.cgi 作为与我的团队共享代码的中央存储库。在通过 TortoiseHg 和/或命令行 hg 客户端推送/拉取时,我想使用 ActiveDirectory 对服务器进行身份验证。有没有人这样做或看过有关如何执行此操作的说明?
问问题
4440 次
4 回答
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 网络用户界面的风格/感觉。
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
我希望它对人们有用...
于 2010-05-17T15:03:54.800 回答
6
hgwebdir.cgi 并没有真正进行身份验证,尽管它可以进行授权。您可能希望在 IIS 配置中处理身份验证。(我对 IIS 没有任何经验,但至少它是这样与 Apache 一起工作的。)
于 2010-02-16T19:22:06.520 回答
4
身份验证由 IIS 完成。在 IIS 管理器中,允许对包含 hgwebdir.cgi 脚本的目录进行基本身份验证。然后编辑基本身份验证设置并将默认域和领域设置为您的域名。
在 hgweb.config 添加
allow_push = <username>
用您的用户名替换能够执行推送的人。这对我有用。
干杯
于 2010-03-03T07:30:49.387 回答
1
请原谅我的 necroposting,但我刚刚发布了HgLab的 alpha 版本,它是 Windows 的 Mercurial 服务器,它支持开箱即用的 Active Directory 身份验证。
于 2012-11-07T10:55:51.157 回答