访问“/SVN/[仓库名称]/!svn/me”被禁止。

19

我遇到了一些关于SVN用户的问题,他们会收到以下消息:

访问“/SVN/[仓库名]/!svn/me”被拒绝

我正在努力找到它的根本原因。

当前的设置是在Windows上使用Visual SVN。我们为用户使用SVN安全性,而不是AD。有些供应商用户(但不是全部)遇到了问题,因此他们的权限与普通用户不同。但奇怪的是,我通过Live Meeting跟踪了这个用户。当他们尝试提交时,会得到上面的消息。我清除了他们在Tortoise SVN中的凭据并使用我的凭据,一切都正常。该用户作为自己登录到服务器并使用我的用户信息进行SVN。但是SVN用户和Windows用户之间没有任何联系。此外,用户最初可以提交新文件。我查看了SVN,但没有发现任何错误。有什么想法吗?有什么方法可以获取更多关于出错信息的信息吗?


2
请查看以下链接:https://dev59.com/w2Qn5IYBdhLWcg3w_LNH,http://stackoverflow.com/a/16287209/761095和http://www.visualsvn.com/support/topic/00033/。 - bahrep
1
我已经查看了那个问题。我认为它不同的原因是当我清除安全数据并使用我的凭据时,它是正常的。 - H20rider
尝试使用此链接 http://stackoverflow.com/a/43204615/5466401 - Sibin John Mattappallil
https://github.com/10up/action-wordpress-plugin-deploy/issues/33 - Gabriel
8个回答

9

抱歉,bahrep是正确的,因为url区分大小写所以存在问题。我很困惑,为什么当我清除了凭据并输入我的凭据后,url就被纠正了。

我能够通过以下步骤在TortoiseSVN中纠正URL:

  1. 右键单击存储库位置
  2. 选择TortoiseSVN --> 重定位
  3. 更正url并单击重定位

在HTTP URL中,机器名称和HTTP不区分大小写,其他所有内容都是区分大小写的。如果使用LDAP,则只查看Subversion实例的名称(可能包括多个存储库)。因此,如果URL的足够部分正确,Apache可以应用凭据,您的凭据就可以工作。LDAP凭据不区分大小写。 - David W.

6
使用OS Xsvn命令行时,如果我使用另一个用户名从同一服务器检出另一个应用程序,则会出现此错误。
我的解决方案是清除凭据。关键是找到凭据信息所在的位置。运行svn auth可以查看详细信息。在我的情况下,它位于/Users/joy.zhu/.subversion/auth/svn.simple。有缓存文件,只需将其删除即可。
再次更新(或提交…),然后会要求输入用户名/密码,接着您可以输入正确的数据。然后一切都很顺利。

5

H20rider

请确保SVN的URL正确。注意,SVN对大小写敏感。如果您将根目录定义为ServicesTrunk,那么您的svn访问URL需要与之大小写相同。

如果您使用“</”符号,您将会收到以下错误提示:

host:port/svn/ServicesTrunk ------- this will work

**case not right**
host:port/svn/servicesTrunk -------- will throw !svn/me' forbidden
host:port/svn/Servicestrunk --------- will throw !svn/me' forbidden

是的,确实如此。起初我并不认为这有意义,因为我能够毫无问题地检索到存储库。不确定为什么更新和提交会有所不同。 - H20rider

3
在我遇到的情况下,我也收到了相同的“拒绝访问”消息,我的存储库URL是正确的。
以下方法适用于我:
  1. 进入Eclipse中的窗口
  2. Window -> Preferences -> Team -> SVN
  3. 检查是否所有的svn首选项都已正确设置。(我将SVN接口客户端从JavaHL(JNI)1.8.14(r1692801)更改为SVNKit(纯Java) SVNKit v1.8.11.10483)

请看图片描述


3

检查身份验证数据。

在TortoiseSVN中:设置\Saved Data\Authentication Data\Clear...

可能您拥有多个用户/密码。


2

对我来说,问题不在于URL的大小写敏感性,而是在于httphttps之间的区别。 解决方案是迁移到以下位置:

http://svn.code.sf.net/...

to

https://svn.code.sf.net/...

2

我遇到了同样的问题。在我的情况下,问题出现在svnaccess.txt文件中定义权限的地方。组名不能有空格,例如:

[svnloop:/test group]
@admins = rw 

返回此错误,您必须更改为

[svnloop:/testgroup]
@admins = rw 

0

我曾经遇到过类似的问题(在Windows操作系统中),并在这里分享我的解决方案。

问题:

Access to '/svn/project01/!svn/rvr/18022/trunk' forbidden

解决方案:

  1. 找到项目01仓库的根目录,如果您在d:\svn\repproject01中。
  2. 修改VisualSVN-SvnAuthz.ini文件。
  3. 删除类似于以下内容的配置块

    [/xxx]
    user01= 
    
  4. 运行services.msc,重新启动SVN服务。


1
  1. 不需要重新启动服务。
  2. 不要手动修改授权文件! 使用VisualSVN Server PowerShell管理访问规则: https://www.visualsvn.com/server/features/powershell/
- bahrep

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接