访问存储库时SVN授权错误

时间:2012-03-05 19:05:21

标签: svn windows-7 configuration

这是一个配置问题,而不是编程问题。如果有更好的地方发布,请重定向我。

当我尝试使用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

1 个答案:

答案 0 :(得分:0)

您必须设置anon-access = none。您不希望允许匿名访问。使用您的设置,您的服务器永远不会挑战您的凭据,因此永远不会满足您的访问规则。

虽然您可以在命令行上提供凭据,但客户端无法将凭据“推送”到服务器。如果服务器对其提出质疑,它将仅使用这些凭证。