我需要查看分配给我的 svn 权限。有没有办法在不访问 svn 配置文件的情况下做到这一点?
1 回答
答案是:视情况而定,但通常不会。
Subversion 没有权限、用户或登录的概念。对于绝大多数使用 Subversion 的人来说,这可能听起来很奇怪,因为他们需要使用帐户和登录名,但 Subversion 并不直接处理安全问题。
相反,Subversion 将安全控制传递给充当 Subversion 服务器的服务器。例如,如果您使用 Apache httpd,您可以使用基本 HTTP 身份验证、LDAP 或 Apache httpd 可以提供的各种身份验证机制。如果 Apache httpd 说你很酷,Subversion 会说你很酷。
即使是基本svnserve
进程也可以使用任何处理SASL身份验证的东西。
然后,您有预提交钩子,可以在服务器的安全机制之外从用户那里夺走写权限。
现在,安全机制可以告诉您您的权限,但我很少看到它。例如,一个简单的 JavaScript 可以显示来自基本 httpd 身份验证的用户权限。
我编写了一个预提交挂钩,将其安全控制文件保存在存储库中,每个人都可以查看它。这允许项目经理更改项目的权限,而无需进入 Subversion 服务器(或者更重要的是,纠缠我这样做)。但是,即使这样也不能告诉您服务器身份验证机制的权限。
所以,答案很可能是否定的。可能无法在您的站点上告诉您对 Subversion 拥有哪些权限,因为即使 Subversion 本身也不知道。