代码之家  ›  专栏  ›  技术社区  ›  Troy Hunt

Sharpsvn是否具有管理存储库权限的API

  •  3
  • Troy Hunt  · 技术社区  · 15 年前

    是否有人知道在 SharpSVN ?例如,以编程方式为每个存储库添加读写权限。

    或者,对使用其他SVN API管理权限有什么其他想法吗?最坏的情况是手动管理svnacessfile的内容,但这是最后的方法。谢谢。

    2 回复  |  直到 9 年前
        1
  •  2
  •   Troy Hunt    15 年前

    看起来是这样的,因为sharpsvn只是一个围绕Subversion命令行工具的.NET API包装器,而且它不包括管理权限的机制,所以这是不可行的(请参见 here )不同的Subversion分发版以不同的方式管理权限,因此在Sharpsvn之外控制权限的方法将有所不同。

    Visual SVN服务器使用存储库根目录中的Authz Windows文件来管理基于AD的权限。它将用户的SID存储在repo名称中,所有这些都是纯文本,因此我只需直接管理该文件的内容,就可以解决API问题。并不像我希望的那样优雅,但最终的结果是一样的。

        2
  •  0
  •   bahrep Ahamed    9 年前

    正如@troyhunt发布的那样,不可能使用sharpsvn来管理Subversion访问规则。事实上,每个使用mod_authz_svn的Subversion+Apache服务器都可以配置为使用许多授权列表。它们可以是每个存储库的authz文件,整个服务器实例的authz文件,甚至是repo authz文件(从Subversion 1.8开始提供)。因此,没有标准的访问规则管理方法来适合所有的颠覆性安装。但是,您始终可以为Subversion服务器安装专门编写自己的脚本,因为 Subversion authz files have a very simple format .

    最初的答案意味着您使用的是VisualVN服务器。在这种情况下,我为您带来了好消息,因为VisualSVN Server 3.4为服务器和repos管理引入了许多PowerShell Cmdlet。在最近的3.5版本中,实际上有29个Cmdlet,其中包括管理访问规则的Cmdlet:

    有关Cmdlet和使用示例的更多信息,请阅读本文 KB88: VisualSVN Server PowerShell Cmdlet Reference .

    推荐文章