我正在尝试使用乌龟来检查带有虚拟机的项目,但我得到了
无法连接到存储库'http://svn.mycompany/svn/myproject'访问/ svn / myproject'禁止访问
但这不是一个正确的问题,因为从我的物理计算机,我可以使用相同的帐户(它每次操作Windows识别弹出窗口)都没有问题(乌龟,eclipse svn,chrome等等) .
我也可以在我的VM上访问http://svn.mycompany/svn/没有问题,并看到"myproject"文件夹 .
更糟糕的是:在我的虚拟机上,我对使用Internet Explorer的两个URL和eclipse的颠覆都没有任何问题 .
物理计算机上的Torto没有配置任何代理,我的VM也是如此 . 也许它使用IE的代理或类似的东西?
我已经查看了其他问题,但大多数问题根本无法访问存储库 . 这也不是一个案例的严重性错误(因为没有大写) .
我已经尝试重新安装它,使用乌龟附带的svn CLI,清理识别数据 . 任何人都知道我该怎么办? (除了更改SVN客户端或使用eclispe的svn来检查所有内容)
1 回答
简而言之:
我必须非常深入地找到一个解决方案,但基本上,我的一些客户端与我的服务器不兼容,服务器告诉他们“403 forbidden acces” .
我现在使用旧版本的SVNKit:我的服务器是1.8.8,我的工作客户端不到1.9,而我的非工作客户端是1.9或更多 . 所以我不得不使用较旧的TortoiseSVN . 这肯定是服务器管理员做出的选择 .
我也清理所有凭据(即使我多次没有任何影响......)
答案很长:
问题也发生在另一次日食上(我必须对不同的项目使用不同的日食),它也有一个更新的svn客户端(颠覆性,1.9中的SVNKit)并且有同样的问题(即“禁止访问”) . 使用任何浏览器或我的其他日食的颠覆(SVNKit 1.8.4)都没有出现这个问题 .
我使用wireshark来查看为什么有些请求被拒绝而其他请求被拒绝 . 用户代理是不同的(仅由于版本) . 从我所看到的使用eclipse'SVN
SVN客户端尝试使用http / xml请求连接到服务器(还有ACK和其他,但's not important). The first request in both case doesn't具有任何授权/凭证(在请求的http部分) .
服务器响应没有凭据或缺少凭据 . 它's actually a custom html answer in the data part of the frame, but it'是
HTTP/1.1 401 Unauthorized
.现在客户端发送相同的HTTP请求,但带有凭据 .
服务器答案
HTTP/1.1 200 OK
.Exchange正常进行 .
如果我使用更新的SVN版本,第一个客户端请求似乎不同(除了用户代理),但来自服务器的答案是
HTTP/1.1 403 Forbidden
.(我只是看了一下它不起作用的数据部分,它是一个html页面,说明我的客户端可能不兼容......好吧,看不到来自乌龟 . 所以,“forbidden”wasn'由于用户名/密码错误或用户权限问题,但版本问题...)
我发布了一个很长的答案,以防你有类似的问题:尝试使用Wireshark从服务器读取HTTP答案的数据部分,因为你的SVN客户端可能没有(甚至CLI没有) .
哦和:如何清理eclipse的SVN凭证https://stackoverflow.com/a/21693402