TortoiseSVN 不要求登录凭据
TortoiseSVN not asking for login credentials
我在我的 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 时,系统不会提示我登录对话框。它只是跳到 "Access forbidden" 消息。
Access to '/svn/repo1' forbidden
认证数据已经在客户端清除。
我必须更改哪些设置才能让 TortoiseSVN 提示我登录?
为什么要使用 <LimitExcept>
指令?
你应该只说 require valid-user
。
解释:
LimitExcept 告诉服务器您只需要对 "write" 访问权限,因此 Apache 不会向客户端请求读取访问权限(SVN 读取访问权限由 WEBDAV 组成,以下操作:GET PROPFIND OPTIONS报告 - 只是你告诉 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>
我在我的 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 时,系统不会提示我登录对话框。它只是跳到 "Access forbidden" 消息。
Access to '/svn/repo1' forbidden
认证数据已经在客户端清除。
我必须更改哪些设置才能让 TortoiseSVN 提示我登录?
为什么要使用 <LimitExcept>
指令?
你应该只说 require valid-user
。
解释:
LimitExcept 告诉服务器您只需要对 "write" 访问权限,因此 Apache 不会向客户端请求读取访问权限(SVN 读取访问权限由 WEBDAV 组成,以下操作:GET PROPFIND OPTIONS报告 - 只是你告诉 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>