我设置了一个基于 Debian 的服务器并在其上安装了 Subversion。配置完 Subversion 客户端后,我进行了第一次检查。但我发现了一个问题。
当我使用 svn 协议时,我可以不输入用户名或密码进行签出。但是当我使用 http:// 协议时,我需要输入用户名和密码。
现在我希望只有当我拥有正确的用户名和密码时才能进行结账。无论我使用哪种协议。
在 /etc/apache2/ 目录中,我创建了一个可以运行的 .passwd 文件和一个 .authz 文件。
在 .authz 文件中我有
[groups]
developer = name
[/]
@developer = rw
* =
在我的 dav_svn.conf 中:
<Location /project1>
DAV svn
SVNPath /var/svn/project1
AuthType Basic
AuthName "bla"
AuthUserFile /etc/apache2/svn.project1.passwd
AuthzSVNAccessFile /etc/apache2/svn.project1.authz
Require valid-user
</Location>
答案1
添加
Satisfy Any
指令前
Required valid-user
正确的应该是:
<Location /project1>
DAV svn
SVNPath /var/svn/project1
AuthType Basic
AuthName "bla"
AuthUserFile /etc/apache2/svn.project1.passwd
AuthzSVNAccessFile /etc/apache2/svn.project1.authz
Satisfy Any
Require valid-user
</Location>