svn权限配置文件(authz)分析

近来,要做开发一个使用WEB来管理Subversion的权限的应用程序。我要做的正是核心部分,subversion权限配置文件:authz的解析,并生成这权限配置的一个对象模型。所以深入的分析了其结构,总结如下:

 

1, 对某个用户,如果只赋给他某个目录的权限,但对上级目录没有赋给,则他不能有上级目录的任何权限

    例如某个用户有:/repository/project1的r权,而没有/repository的r权

2,对于所有的目录,都优先处理设置在这个目录上的权限设置。

    例如sai用户:
     
       [/repository]         
        sai = rw 
 
    对于repository目录,他有rw的权限。      

       [/repository/project1]
        sai = r

    对于repository下的project1目录,他只有r权限。

    则,这个saiy用户只有project1的r权。而repository下其他目录有rw权。


3,权限分配,只可以分配到某个目录,而不能到某个文件

4,如果某个目录上没有对某个用户设置权限,则一直向上级目录查找,看是否有权限

    例如sai用户

        [/repository]
          sai=rw

        [/repository/project1]
          saiya=rw

     则sai用户一样拥有/repository/project1的读写权限

5,分配权限时,= 的左边为用户,不能想当然的以,号分开加入多个用户

    如
        [/repository]
          sai,saiya=rw
    这样是错误的。

6,如果想设置某用户都没有rw的权限,只要 = 号的右边这空即可
   
    如
        [/repository]
          sai=

7,一些快捷的表示方式。
       
        [groups]
          mygroup = sai,saiya
    
        [/repository]
          *=              
        (*号表示所有人,这里由表示所有人都没有读写的权限)

        [/repository/project1]
          @mygroup = rw
        (@mygroup表示mygroup这个组上的所有人)

 

 

 

你可能感兴趣的:(Application,svn,subversion,web)