SvnAdminV2.0 icon indicating copy to clipboard operation
SvnAdminV2.0 copied to clipboard

仓库授权某文件夹时逻辑优化

Open huangjianye opened this issue 1 year ago • 5 comments

仓库授权:直接给仓库的根下的某个文件夹(或某个文件夹的子目录,或子目录的子目录……)授权时,现在的逻辑是仅单独做对该目录授权,并未考虑该文件夹的父目录(上级目录,以及上级的上级……)的授权,结构导致该目录授权了,并没有真正实现效果,无法检出或没有看到该文件夹。

授权逻辑应该优化成:把该文件夹的所有上级文件夹都授权为只读,不然是单独授权该文件夹是无用的,否则并没有实现该授权的效果。这样也是对目录结构较复杂或目录层级较深的文件夹做授权做了智能化、简单化、高效化……,希望可以优化,谢谢!

image

image

huangjianye avatar Jan 11 '24 03:01 huangjianye

这个原生SVN的逻辑也是如此,而且权限配置是SVN的独到之处。 此处你的操作不可因为对子目录的授权而逐级把父目录的权限也授权给用户,这是不合理的。

witersen avatar Jan 11 '24 08:01 witersen

我知道原生的svn授权也是一个目录一个目录的授权,还要考虑各层级的目录关系。但是我认为,你做这个工具不就是为了更方便和高效的管理svn仓库吗?原生是使用那种授权方式是因为他授权都是编辑文本配置文件且没有图形化,我认为原生的那种方式并一定是好的,高效的,你可以做创新做颠覆啊,不然你就不会做一个这样的工具了。

huangjianye avatar Jan 11 '24 09:01 huangjianye

我的意思是这个功能本身非常简单,10行代码内就可以解决。但是这件事情本身不合理。 这样实现后,完全打破了SVN的权限管理的功能,对权限配置做不到精细化了,甚至对权限管理来讲这是一个bug行为。

witersen avatar Jan 11 '24 09:01 witersen

请看这例子:

[/] admin=rw @hardware_test = r @hardware_test_r = r @reliability_test = r @reliability_test_r = r @software_test = r @software_test_r = r * =

[/Quality_Control] admin=rw @hardware_test = r @hardware_test_r = r @reliability_test = r @reliability_test_r = r @software_test = r @software_test_r = r * =

[/Quality_Control/DQE] admin=rw @hardware_test = r @hardware_test_r = r @reliability_test = r @reliability_test_r = r @software_test = r @software_test_r = r * =

[/Quality_Control/DQE/Hardware_test] admin=rw @hardware_test = rw @hardware_test_r = r * =

[/Quality_Control/DQE/Reliability_test] admin=rw @reliability_test = rw @reliability_test_r = r * =

[/Quality_Control/DQE/Software_test] admin=rw @software_test = rw @software_test_r = r * =

如果去掉父目录对应用户读权限,而是只有目标目录(此例子的中的 Hardware_test、Reliability_test、Software_test)的授权而已,真的能达到对应目录的授权吗(父目录没有对应的读权限,结果就是看不到目标目录,不管该目标目录做了读写还是只读授权)?原生svn的独到之处就是人工去在目标目录的父目录(父父目录直到根目录)上加上对应用户或组的读权限。

这样做并不是做不到精细化管理,也不是bug,svn确实可以做到精确到每一个用户对任何一个目录只读或读写的权限,关键的是所有父目录上加上 * =

上面配置中的每个目录的 admin=rw 可以侧面说明这个事实,如果目标目录(此例子的中的 Hardware_test、Reliability_test、Software_test)只有 admin=rw 授权而已,而没有目标父目录的 admin=rw ,管理员真的对目标目录有读写权限吗?

希望你再认真思考一下,谢谢!

huangjianye avatar Jan 11 '24 09:01 huangjianye

ok 我认真考虑下

witersen avatar Jan 12 '24 02:01 witersen