我正在尝试为我的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的身份验证也因为同样的原因而无法正常工作。
任何人都可以帮我弄清楚为什么会这样。
答案 0 :(得分:0)
我认为有关Mercurial协议的一些内容,它需要两个密码提示,但我忘记了原因。