RSS
热门关键字:  java  Ajax  JSP  JSF  Struts
当前位置 : 首页>Java>列表

Subversion之路-实现精细的目录访问权限控制

来源: 作者: 时间:2007-10-31 点击:
1 前言
1.1 Subversion 权限简介在 Subversion 的使用当中,存在“认证”、“授权”两个概念。认证,即 authentication,是指用户名与密码的认证。授权,即 authorization ,是指某用户对某个目录是否具备读、写权限的一种审核。这两者配合作用,就组成了 Subversion 的整个帐户管理体系。

在实际的工作当中,我们有时候会遇见需要控制项目目录的访问权限的情况,比如说对项目的一些关键模块进行限制,仅允许少数授权人士才可以修改等。由于项目的目录本身就是作为版本库的一个部分被 Subversion 所收管,所以我们无法利用操作系统的帐户权限体系,来实现授权控制。因此,这个问题就只有让svn自己来解决了。

Subversion 提供了面向目录的帐户权限管理功能,通过它,我们就可以很精确地实现项目目录的访问控制。不过在 1.2 及其以前的版本,我们只能利用 mod_authz_svn.so 模块,结合 Apache 服务器来实现目录访问控制,这对于对 Apache 的配置与使用不是很熟悉的人来说,就不是很方便了。而Subversion终于在 1.3 版本上,在 svnserve.exe 服务器里面添加了这一功能,方便了很多人。

1.2 其他信息本文面向那些 Subversion 的管理员,或者任何对 Subversoin 有兴趣的人们。本文假定读者对Subversion有一定的了解,因此不打算对所有涉及到的安装、使用,做一个细节性的描述。若对于文章中描述的其他细节方面有所疑问,请访问“参考文献”一节里面的参考资料。如果你对本文任何地方有什么意见,或者发现本文有着大大小小的错误,请联系 zhengxinxing gmail com 。

本文是基于 Subversion 1.3.2、MS Windows 2003 Server Edition 平台来编写的,且 Subversion 服务器是利用 svnserve.exe 来架设的。不过,本文讲述到的绝大多数内容,都是不仅与操作系统平台无关,而且与是采用 svnserve(.exe) 还是使用 Apache 来作为 Subversion 服务器也基本无关。因此为免罗嗦,本文就以 svnserve(.exe) 为例进行描述,而略过 Apache 服务器相关的内容,有兴趣的读者可以参考其他文章来在 Apache 服务器下实现类似的功能。

本文是利用 reST 格式来编写的,如果你对它感兴趣,请访问 http://docutils.sourceforge.net/rst.html 。如果想要看到更好的html格式,你可以通篇复制本文到一个文本文件里,然后利用 docutils 的 rst2html.py 脚本编译它,当然,首先你必须安装 python。

本文的获得方式:

原始发布点: http://iusesvn.com/bbs/thread-6-1-1.html
完整源文件,请利用 svn 命令来获取,命令为 svn co svn://cvs.woodpecker.org.cn/woodpecker/zqlib/tangle/michael.zheng/road2svn
HTML版式文件,请访问 http://zhengxinxing.googlepages.com/The.Road.to.Subversion_authz.html (推荐)或 http://swjr.blog.com.cn/archives/2006/TheRoadToSubversion1authz.shtml 。
2 致谢非常感谢 iusesvn.com 站的站长 PCplayer ,他在本文编写过程中,给我提出了很多宝贵的意见与建议。

感谢 woodpecker.org.cn 提供的 Subversion 空间,让更多的人可以通过 svn 获得本文件。

感谢 google 公司提供的免费主页空间,让我可以放置完全定制的 HTML 文件。

3 实战本章先直接给出需求及其最终的结果,如果你觉得对配置有什么疑问,或者看不懂,请不要着急,我会在后面的章节详细描述的。

3.1 背景假设厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计、销售,并在北京、上海各设立了一个办事处。对于工作日志,原先采用邮件方式发给经理,但是这种方式有个缺点,那就是不具备连续性,要看以前的日志必须一封一封邮件去查看,很麻烦。于是就想到利用 Subversion, 让员工在自己电脑上编辑日志,然后利用svn传送回来,既方便员工自己编写日志,又方便对日志的归档处理,而且提交日志的时候只需要执行一下 svn commit 即可,比发送邮件还要简单的多。

svn服务器相关信息

服务器地址: 192.168.0.1
服务器OS: MS Windows 2000 Server Edition 中文版
用于存放日志的代码库本地目录: D:\svn\arm
arm部门文档的目录结构如下:

arm 部门名称
├─diary 工作日志目录
│ ├─headquarters 总部工作日志目录
│ ├─beijing 北京办日志目录
│ └─shanghai 上海办日志目录
├─ref 公司公共文件参考目录
└─temp 临时文件目录

人员情况

morson,公司总经理,不习惯使用电脑,更喜欢传统的纸与笔,以及面对面的交流
michael,arm事业部的部门经理,没事的时候喜欢弄点儿新技术,用svn来管理日志,就是他想出来的主意
scofield,北京办人员,老员工,为人油滑难管
lincon,上海办人员,老员工,大老实人一个
linda,总部协调员、秘书,文笔不错,长得也不错

共5页: 上一页 1 [2] [3] [4] [5] 下一页
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册