在Mercurial IIS 6 Server 2003中使用UNC路径作为路径位置

时间:2010-05-18 08:55:36

标签: mercurial iis-6 windows-server-2003

我正在运行最新的Mercurial和Python 2.6; IIS6使用通配符ISAPI方法将站点附加到Mercurial hgwebdir_wsgi

[paths]
\ = \\COMP3254\TestRepo\*

[web]
baseurl = /
allow_push = *
push_ssl = false
style = monoblue

如果我引用本地驱动器E:\ repo *,则设置工作正常,但如果我指定上述网络则不起作用;我给了COMP3254上共享文件夹的服务器(MERCDEV01 $)完全权限,我想不出任何其他原因它不起作用。

3 个答案:

答案 0 :(得分:0)

可能是代表团问题。您可以对Web服务器进行NTLM身份验证(并且您的凭据将在其本地驱动器上受信任),但Web服务器无法向远程位置验证您,因为它不知道您的密码(即它无法委派您的凭据)。

您是否尝试将网络位置设置为服务器上的虚拟目录?然后,您可以输入IIS将缓存的凭据,并用于访问该位置。

答案 1 :(得分:0)

hgwebdir对我来说对UNC路径不起作用 - 这意味着如果不将repos托管在与Web服务器相同的机器上,就无法将其用作服务器。

答案 2 :(得分:0)

好的..我解决了。运行Web服务器的用户(在我的情况下为Apache)默认为Local System,后者无权访问网络资源。当我将其更改为具有域访问权限的用户(并授予该用户管理员访问本地计算机的权限)时,一切正常。

运行具有这种特权的Web服务器当然有风险 - 但在我的情况下,它是一个内部服务器。据推测,您可以选择恰当的权限以更安全的方式执行此操作。