0

我在向 Collabnet SVN Subversion Edge 中的某些用户授予权限时遇到问题。我目前有 3 个存储库:文档、ipm 和模块。我有两个用户:jeremy.johnson 和 jeremyj。我想授予对 jeremyj 文档和 ipm 的读取权限,并授予 jeremy.johnson 对模块的访问权限。我不希望用户看到彼此的回购。

我做不到

    [/]
    * = r 

因为那时每个人都可以看到每个人。

所以我做了这个

    [documentation:/]
    jeremyj = r

    [ipm:/]
    jeremyj = r

    [modules:/]
    jeremy.johnson = r

但这似乎不允许任何事情。无论我以 jeremyj 还是 jeremy.johnson 身份登录,我都无法访问它们中的任何一个。我可以访问其中任何一个的唯一方法是如果我使用通配符,但这会违背目的。

我还尝试将它添加到 \documentation\conf\authz 文件中,但这似乎什么也没做。


使用@Lazy Badger 的建议进行编辑:为了显示我正在使用的实际语法和大小写,我将附上屏幕截图。

访问规则 用户 回购

但是 jeremy.johnson 仍然可以看到文档的内容。

4

2 回答 2

0

你正在做的事情应该有效。authz 功能和语法的规范文档在这里:http ://svnbook.red-bean.com/en/1.8/svn.serverconfig.pathbasedauthz.html

为了排除故障,我会查看 Apache 访问日志。当您的客户端访问存储库时,您应该能够看到添加的条目。查找记录的用户名。我的猜测是有些东西不符合规则。也许情况不同,或者您的客户使用与您想象的不同的用户名进行身份验证。authz 规则需要匹配您看到记录的用户名。

于 2020-01-02T16:18:03.190 回答
0

必须

[/]
* = r 

或者,也许更好

~$anonymous = r

并在每个存储库的基础上撤销每个用户的访问权限

[documentation:/]
jeremyj = r
jeremy.johnson = 

[ipm:/]
jeremyj = r
jeremy.johnson = 

[modules:/]
jeremyj = 
jeremy.johnson = r

这样每个人都可以看到完整的 repos 列表,但看不到它们的内容

于 2019-08-28T08:22:10.093 回答