Answers:
如果您正在寻找可以在Windows,Unix上运行并可以对AD / LDAP进行身份验证的集成系统,请尝试使用RhodeCode http://rhodecode.com。这是提供存储库的bitbucket / github的本地实例。它带有权限系统,易于用户管理,代码审查等。
几个月前,我写了一个由四部分组成的博客文章,使您可以使用Active Directory / IIS托管Mercurial的Web服务器。它可以治疗:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
它会引导您完成:
Ben已经为您提供了一个使用AD在IIS上设置Mercurial的良好指南。
我想补充一点,您需要知道的关键是Mercurial 中内置的(快速)CGI脚本不会对用户进行身份验证。我们提供的CGI脚本依赖于前端Web服务器进行身份验证。因此,在它们调用脚本之前,必须先设置Apache,IIS,nginx等进行身份验证。(但是,如果您想要一个具有LDAP支持的类似Bitbucket的系统,并且也可以连接到AD ,则可以使用出色的RhodeCode。)
关注点的分离使Mercurial非常灵活:如果您想要Active Directory身份验证,则只需使用Web服务器的标准插件即可。许多站点已经具有此设置,因此Mercurial将“正常工作” :-)
因此,Mercurial永远不会检查任何密码-身份验证部分。但是它可以进行授权,这意味着它可以允许或禁止用户推入或拉出等。这是基于存储在标准REMOTE_USER
CGI变量中的用户名完成的。在验证远程用户身份后,由Web服务器来设置此变量。
在Mercurial中,用户名与该部分中的allow_push
和allow_read
列表匹配,[web]
以确定是否允许用户推送或拉出/克隆相关存储库。当然,可以通过编辑.hg\hgrc
每个存储库中的文件在每个存储库的基础上进行配置。