提交时出现 svn 错误 - 拒绝访问:'foobar' MKACTIVITY MYREPO:

apa*_*cay 5 svn tortoisesvn apache-2.2

我目前正在使用带有 ActiveDirectory 身份验证的 Apache 和 SVN。用户正在使用 TortoiseSVN 客户端。

我应该指出,我有 2 个具有相同名称和不同映射的存储库,但重定向到相同的“用户 url”,因为两个存储库的权限相同。

例如“ http://mysrvr/svn/foo/bar/corge ”和“ http://mysrvr/svn/foo/corge

或 ' http://mysrvr/svn/foo/bar/corge和 ' http://mysrvr/svn/foo/grault/corge '

这 2 个 repos 的东西用 8 个“repo pair”复制,剩下的 7 个工作得很好。

这是我的错误:

提交失败(详情如下):

禁止访问“/svn/myDir/MYREPO/!svn/act/65bf494c-a66a-4f45-870e-d988f691a45d”

完成的!

这不是权限,因为用户 foobar 具有 rw 访问权限并且他已成功签出存储库。提交时发生此错误。

有助于定位精确解决的事情:

其他回购对做得很好。而且权限是一样的。我的 svn 管理员用户可以在与提交问题的用户相同的本地 PC 上执行操作。大写/小写 URL 不是问题,我已经检查过 NTLM 和 Active Directory 也不是问题,因为他可以访问具有相同权限文件的另一个存储库。同一个 repo 的其他用户正在试验同样的问题。虽然我仍然可以在他们的本地 PC 上进行提交。(就像他们没有写权限一样)这是 Apache 日志:

Apache 错误日志

[dd mm 12:38:02 2011] [error] [client 10.xxx] 拒绝访问:'foobar' MKACTIVITY MYREPO:

[dd mm 12:39:40 2011] [error] [client 10.xxx] 访问被拒绝:'foobar' MKACTIVITY MYREPO:

[dd mm 12:39:54 2011] [error] [client 10.xxx] 访问被拒绝:'foobar' MKACTIVITY MYREPO:

Apache访问.log

10.xxx - foobar [dd/mmm/yy:12:38:02 GMT]“选项/svn/myDir/MYREPO HTTP/1.1”200 198

10.xxx - foobar [dd/mmm/yy:12:38:02 GMT] "PROPFIND /svn/myDir/MYREPO HTTP/1.1" 207 667

10.xxx - foobar [dd/mmm/yy:12:38:02 GMT] "MKACTIVITY /svn/myDir/MYREPO/!svn/act/65bf494c-a66a-4f45-870e-d988f691a45d HTTP/1.16"

svn_activity.log

[dd/mmm/yy:12:34:20 -0300] waldo 提交 r2

[dd/mmm/yy:12:39:07 -0300] fred 状态 /src/trunk r1447

从 svn_activity.log 我可以推断出 Apache 捕获并退回访问,因为在之前公开的时间范围内没有 foobar 访问。

所以,希望我收集的数据有助于解决这个问题……有什么想法吗?

PS它看起来像这个链接,但我有更多的数据。:)

vin*_*mes 1

svn_activity 日志级别较高,通常不如较低级别的 http 方法(例如 MKACTIVITY)那么适合调试这些问题。 403 表示禁止,通常这是由于 authz 访问文件造成的,但也可能来自 apache 配置中的规则。如果您可以附加问题存储库的 apache 配置和 authz 文件,我们也许可以找到答案。

在您的配置文件中查找类似这样的指令:

AuthzSVNAccessFile /data/authz
Run Code Online (Sandbox Code Playgroud)