Subversion标记和安全性

Joh*_*zen 3 svn version-control pre-commit-hook batch-processing

我已经从头开始设置了一个SVN存储库,并且我已经使用SVN复制命令成功标记了我的一些版本.

我使用了SSPI auth插件来实现apache,因此我们的开发人员只需使用他们的网络凭据来访问服务器,一切都运行良好.

我创建了一个AuthZ授权文件,将我们的开发人员添加到文件中的组,并授予他们对root的写入权限.我还授予匿名用户对root的只读访问权限.

然后我用以下命令锁定/ svn /目录:Require-group"CORP\CKAN0BlahBlah"

这有效地将安全组中的新开发人员限制为只读访问,直到他们通过aAuthZ配置文件被授予访问权限.

现在,我有几个问题:

  1. 什么是阻止用户将更改提交到任何"标签"目录的正确方法(荣誉系统除外)?

  2. 是否可以使用SSPI将组成员传递给AuthZ,而不是在配置文件中单独列出成员?

Red*_*ter 6

1 - 您可以使用预提交挂钩来阻止提交,请参阅SVN预提交挂钩以避免更改标记子目录.

编辑:要在Windows上执行此操作,请尝试以下操作:

将其保存为repo的hooks文件夹中名为pre-commit.bat的文件:

@echo off
set REPOSITORY=%1
echo %REPOSITORY% | find /I "tags"
if errorlevel 1 goto done
echo You tried to commit to %REPOSITORY% >&2
echo Committing to tags is not allowed >&2
exit 1
:done
Run Code Online (Sandbox Code Playgroud)

请注意,这将阻止提交到包含子字符串标记的任何存储库路径.根据您的需要进行修改.

  • 钩子位于服务器端,因此可以使用主机平台本机的已编译应用程序,shell脚本,命令文件等来完成. (2认同)