这是一个配置问题,而不是编程问题。如果有更好的地方发布,请重定向我。
当我尝试使用TortoiseSVN导入项目时,我收到授权错误。我控制着客户端(我的PC)和SVN存储库(非路由网络上的另一台PC)。客户端和服务器在Windows 7上。有一个Active Directory(我无法控制)来验证用户名和密码。我可以登录客户端和服务器。
服务器正在将svnserve作为Windows服务运行。我在服务器上有两个存储库,一个在c:\repositories\repo1
中,是另一个存储库的镜像。它更新和svnsync,并正常工作。第二个是c:\repositories\repo2
,应该是集成测试的测试库。我没有成功写入第二个存储库。
我使用网址svn://<pc_name>/repo2/
作为导入的根目录。当我右键单击客户端上的项目文件夹并进入Tortoise Import时,我将svn://<pc_name>/repo2/project1
作为URL。
在服务器上,我有<repo2_folder>conf/svnserve.conf
:
anon-access = write
auth-access = write
password-db = passwd
authz-db = authz
(我也试过anon-access = read
。)在passwd中我有用户名和密码。在authz我有:
[repository:/repo1]
* = r
[repository:/repo2]
<username>= rw
我尝试过每一个我能想到的组合,但仍然会收到授权错误。有什么想法吗?
编辑:
这与TortoiseSVN无关。没有它,我可以得到同样的问题:
C:\>svn list svn://pc0000/repo2 --username ksnortum --password xxxxxxxxx
svn: Authorization failed
答案 0 :(得分:0)
您必须设置anon-access = none。您不希望允许匿名访问。使用您的设置,您的服务器永远不会挑战您的凭据,因此永远不会满足您的访问规则。
虽然您可以在命令行上提供凭据,但客户端无法将凭据“推送”到服务器。如果服务器对其提出质疑,它将仅使用这些凭证。