0

我正在尝试为我的 mercurial repos 实施基本级别的身份验证。在 Windows 上使用 apache。

我看到很多博客都提到了实现它的步骤,这就是我的 apache httpd.conf 文件部分的样子。

.........
...............
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so

WSGIPythonPath "C:/Python27;C:/apache2/htdocs/library"
<Directory "C:/apache2/htdocs">
    AllowOverride None
    Options Indexes FollowSymLinks Includes ExecCGI
    Order allow,deny
    Allow from all

    AuthName "sample realm"
    AuthType Basic 
    AuthBasicAuthoritative on
    AuthUserFile c:/hgusers.txt
    require valid-user
</Directory>
..........
.......

如果我尝试hg clone http://my-domain.com/mercurial-repo,它会要求身份验证。如果我输入错误的凭据,身份验证将按预期失败。但是如果我输入一个有效的凭证,它会继续要求输入用户名和密码......

像这样:

C:\test-repo>hg clone http://my-domain.com/mercurial-repo
http authorization required
realm: sample realm
user: dave
password:
http authorization required
realm: sample realm
user: dave
password:
.....................
.....................

但是当我在 repo url 中输入用户和密码凭据时,它工作正常。例如:hg clone http://username:password@my-domain.com/mercurial-repo正在工作。但是我需要将用户和密码凭据添加到提示中,因为来自 hgtortoise gui 的身份验证也出于同样的原因而无法正常工作。谁能帮我弄清楚为什么会这样。

4

1 回答 1

0

我认为 Mercurial 协议有一些东西需要两次密码提示,尽管我完全忘记了为什么会这样。

于 2013-03-18T11:15:06.273 回答