TortoiseSVN不要求登录凭据

时间:2018-02-19 13:12:59

标签: apache svn repository apache2 tortoisesvn

我已经在我的Raspberry Pi 3上的Apache2服务器上设置了多个存储库,由标准的svn程序创建。

我已经创建了一个svn_access_control文件,如下所示:

[/]
* = r

[repo1:/]
Niko = rw
* =

我还使用以下命令创建了多个用户:

htpasswd -m /etc/apache2/dav_svn.passwd USERNAME

我的dav_svn.conf中写有以下几行:

<Location /svn>
  DAV svn
  SVNParentPath /home/pi/repos
  AuthType Basic
  AuthName "Subversion Repo"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /etc/apache2/svn_access_control
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
 </Location>

然而,当我想在Windows 8.1机器上通过ToirtoiseSVN访问repo1时,我没有提示登录对话框。它只是跳到了禁止访问&#34;消息。

Access to '/svn/repo1' forbidden

已在客户端清除身份验证数据。

为了让TortoiseSVN提示我登录,我需要更改哪些设置?

1 个答案:

答案 0 :(得分:2)

为什么使用<LimitExcept>指令? 你应该说明require valid-user

说明:

LimitExcept告诉服务器您只需要授权进行“写入”访问,因此Apache不会要求客户端进行读取访问(SVN读取访问由WEBDAV组成以下操作:获取提议选项报告 - 只是你告诉apache的操作你不需要限制..)。

因此SVN不会向服务器发送用户信息(服务器没有请求它们),然后SVN模块评估访问权限, Bong!您拒绝访问。

请改用此配置: <Location /svn> DAV svn SVNParentPath /home/pi/repos AuthType Basic AuthName "Subversion Repo" AuthUserFile /etc/apache2/dav_svn.passwd AuthzSVNAccessFile /etc/apache2/svn_access_control Require valid-user </Location>