如何在Windows上配置svn authz?

时间:2012-10-09 12:52:05

标签: windows svn configuration authz

我们想开始两个新的开发项目:Project1Project2。我们有两组开发人员:

  • GroupA应具有对两个项目的完整(读取+写入)访问权限,并且
  • GroupB无法访问Project1,但无权访问Project2

我关注Jeff Atwood's tutorial并在Windows Server 2003上成功安装subversion 1.7.6作为Windows服务。我通过添加文件夹和文件来测试系统,并提交更改,一切正常(客户端是TortoiseSVN 1.7.9)。

不幸的是,我无法弄清楚如何在authz中配置开发者组的访问权限。开发人员可以连接到服务器,但在尝试提交时会收到Authorization failed个消息。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

我建议你阅读SVNBook (Version Control with Subversion)。请参阅描述the path-based authorization的章节。我认为这一章回答了你的问题。

下面提供了示例authz文件。请注意,我没有在/repo/Project1存储库目录中为 GroupB 明确设置'无访问权限'规则。我将'无权访问'设置为'everyone'的根节点,然后此权限将由其子项继承,除非您明确提供对文件夹或文件的访问权限。

[/]
*=

[groups]
GroupA=john,sally
GroupB=harry,george

[repo:/Project1]
@GroupA=rw

[repo:/Project2]
@GroupA=rw
@GroupB=rw

我想请注意,如果您使用VisualSVN Server Manager,则可以大大简化管理SVN用户权限的过程。

它提供了一个舒适的UI来管理用户权限,您可以找到它们非常有用: VisualSVN Server Manager

2016年更新

要管理在VisualSVN Server上托管的SVN存储库的访问规则,您现在可以使用随VisualSVN Server打包的PowerShell cmdlet。从版本3.4开始,VisualSVN Server包含PowerShell模块,可以帮助您完成此任务。您正在寻找的cmdlet是

阅读文章KB88: VisualSVN Server PowerShell Cmdlet Reference以获取VisualSVN Server PowerShell cmdlet的完整列表。