我正在尝试为我的 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 的身份验证也出于同样的原因而无法正常工作。谁能帮我弄清楚为什么会这样。