限制对通过 WebDAV 托管的多个 SVN 存储库的访问

限制对通过 WebDAV 托管的多个 SVN 存储库的访问

我需要创建和操作多个学生 SVN 存储库,并创建一些细粒度的访问控制,以防止学生作弊,同时允许教师访问修订历史记录。

对于单个存储库,我可以使用 WebDAV 并配置AuthzSVNAccessFile以允许访问。但我需要多个存储库。我可以设置多个<Location>指令,但这很冗长,而且每当我需要添加或删除存储库时,都需要重新加载 Apache。有一种方法可以用 指定包含多个存储库的“父路径” SVNParentPath,但是否有相应的方法将 authz 文件映射到这些存储库?

答案1

实际上,您可以使用单个 authz 文件管理多个存储库的权限。例如:

[foo:/]
@students = rw
@instructors = r

[bar:/]
@students = rw
@instructors = r

在这种情况下,冒号前的名称是存储库的名称,即后面路径的第一个组成部分SVNParentPath

答案2

您可以使用 .htaccess 文件进行基本 HTTP 身份验证,或者使用 mod_auth_mysql 从 SQL 数据库中提取身份验证信息。从这一点开始,您可以非常轻松地构建一个前端来管理 SQL 表中的权限。

相关内容