首页 理论教育PHPMVC开发实战-SVN版本库权限配置

PHPMVC开发实战-SVN版本库权限配置

【摘要】:SVN提供了完善的用户管理权限,用户管理权限在多人项目开发中具有非常重要的作用,它能够明确地让开发人员在自己的职责范围内编写代码。SVN使用authz文件作为权限配置文件,该文件提供了用户组功能,组别权限配置能够具体到项目的文件夹。打开svnserve.conf文件,找到#authz-db=authz节点,将#注释符与空格删除,这样就完成了权限配置。至此,SVN权限配置就完成了。需要说明的是,SVN只是实现版本控制,但对于团队开发来说,版本控制只是文件管理的一部分。

SVN提供了完善的用户管理权限,用户管理权限在多人项目开发中具有非常重要的作用,它能够明确地让开发人员在自己的职责范围内编写代码。例如技术经理应该能够控制整个项目的文件读写;而程序员应该根据职责分配相应的权限,例如做前台界面设计的不应该能够编写后台PHP模块文件。SVN使用authz文件作为权限配置文件,该文件提供了用户组功能,组别权限配置能够具体到项目的文件夹。下面通过一个简单的示例介绍authz权限文件的配置。

假设当前项目有3名程序员共同参与,匿名用户没有任何权限(默认情况下有读的权限),只需要在passwd文件中配置3名用户即可,代码如下。

如上述代码所示,ceiba与test用户都是普通的程序员;manger是项目负责人。在项目中添加bbs和user目录,分别代表论坛系统与会员中心;为了便于分工合作,这里将分配bbs目录给用户ceiba,让其具有可读可写的权限;user目录分配给test,让其具有可读可写的权限。用户ceiba进入user目录时,限制其只能浏览但禁止提交文件;test用户访问bbs目录时也限制其只能浏览但禁止提交文件。

根据上述权限分配要求,只需要在authz创建一个权限组admin,这个权限组只赋给项目负责人manger;然后再分别对项目下的其他目录单独配置权限,authz文件代码如下。

如上述代码所示,标粗的即为更改的内容,其中[groups]定义了一个组并命名为admin;[/]表示目录权限分配,意味着将整个项目的根目录权限分配给admin组,并指定该组用户能够可读可写;[/bbs]与[/user]分别表示配置bbs和user目录权限,这里将使用单个用户进行配置,并给出相应的权限。(www.chuimin.cn)

将文件保存后,还需要在主配置文件中开启权限配置。打开svnserve.conf文件,找到#authz-db=authz节点,将#注释符与空格删除,这样就完成了权限配置。由于还需要禁止匿名用户浏览版本库,所以还需要将svnserve.conf文件中的#anon-access=read配置项更改为anon-access=none(前面不能留空)。至此,SVN权限配置就完成了。

需要说明的是,SVN只是实现版本控制,但对于团队开发来说,版本控制只是文件管理的一部分。要真正实现团队开发及测试,还需要配置团队调试环境。具体细节可参阅本书附录B。

‰ 提示:TrotoiseSVN在保存用户及密码后,没有提供清除用户与密码的功能,但可以通过删除SVN程序数据的方式清空用户数据与密码,该文件位于(以Windows 7为例)C:\Users\Administrator\AppData\Roaming\Subversion\目录,将该目录下的authz文件删除即可。