《基于Web的subversion用户管理系统.docx》由会员分享,可在线阅读,更多相关《基于Web的subversion用户管理系统.docx(28页珍藏版)》请在第一文库网上搜索。
1、基于Web的subversion用户管理系统摘要本系统主要是基于Web的subversion系统的用户管理系统。在开源软件世界,并行版本系统(CVS)一直是版本控制长久以来的唯一选择,但是,和其它许多工具一样,Cvs开始显露出衰老的迹象,而SUbVerSion,正是以CVS继任者的面目出现的新型版本控制系统。但是,它的用户管理机制却是很差,本系统正是基于这个现实。实现友好的SUbVerSiOn用户界面,以提高工作效率。subversion用户管理系统分为两大基本部分,一个是普通用户的注册及自己资料的修改和管理。另外一个主要部分是超级用户对于普通用户的申请进行认证。以及对通过认证的用户分配相应的
2、权限。本系统是基于apache和php平台的Web应用程序。采用php人作为前台开发语言。MySq1作为后台数据库。apache作为服务器对SUbVerSiOn用户进行管理。系统具有良好的稳定性,并具有可移植性强等特点。关键词:Php;Subversion;Apache;用户管理UserManagementSystemBasedonWEBforSubversionAbstractThesystemisaWebbasedusermanagementsystemaboutsubversion.OntheOpenSourceWor1d,concurrentversionsystem(cvs)has1
3、ongbeentheon1ychoiceinversioncontro1.However,1ikemanyothertoo1s,cvsbeginstoshowoutofdate.Andsubversion,asasuccessortocvswhichhasthefeaturesofthenewversioncontro1system.However,itsusermanagementmechanismispoor.Thesystemisbasedontherea1ity,achievesafriend1yuserinterface,inordertoenhanceefficiency.Theu
4、sermanagementsub-systemofsubversionisdividedintotwobasicparts.Onepartisordinaryusermanagement,inc1udingregistrationandinformationediting.Anothermajorpartisthesuper-userauthenticatestothecommonuser,sapp1icationsandthedistributionofthecorrespondingauthority.ThesystemisbasedonWebusingapache,phpandmysq1
5、.Phpasaactivepagerprocedure,mysq1asbackgroundinformationstorage.ApacheasHTTPservertoprovideawebinterfaceforthisusermanagementsystem.Thesystemhashighstabi1ityandportabi1ity.Keywords:Php;Subversion;Apache;UserManagemen论文总页数:24页1引言12系统需求分析22.1 系统功能模块需求22.1.1 用户注册模块的需求22.1.2 管理员功能处理模块的需求22.1.3 各个功能模块数据结
6、构图32. 2用户环境需求32.1.1 用户使用环境需求32.1.2 其它需求33系统总体设计33.1 系统功能模块划分33.2 系统功能模块流程图33.3 数据库总体设计44环境选择、搭建和配置44.1 选择使用apache+php+mysq1的可行性以及各自特点44.1.1 使用apache+php+mysq1的可行性44.1.2 php技术的特点44.1.3 apache的技术特点54.1.4 mysq1的技术特点54.2 系统环境的搭建64.2.1 安装配置PhP64.2.2 安装配置apache64.2.3 安装配置mysq174.2.4 安装SUbVerSiOn以及建立版本库84.
7、2.5 subversion月艮务器酉已置95模块功能的详细实现过程105.1 本系统使用的subversion权限机制105.2数据流程图115.2.1 用户注册数据流程图115.2.2 管理员管理数据流程图115.3数据库结构设计125.4数据库操作131.4.1 数据库的连接、添加、删除和更新等135. 5生成subversion权限配置文件时对文件的操作175.1.1 数据文件的写入175.1.2 数据文件的读取186模块测试结果186.1用户注册模块测试结果186. 2管理员模块测试结果19结论22参考文献22致谢23声明241引言版本控制之于程序员,就好像还原系统对于计算机一样。使
8、得即使计算机系统崩溃了,也能回复到正常的状态。同样,版本控制使您有能力去冒以往想都不敢想的风险。如果哪儿出了错,您总是可以使自己的代码回复到一个已知的、工作正常的版本。您可以在不触及主干的分支中进行试验,而不会影响到其他小组成员。如果没有版本控制,您必须极为慎之又慎,缓慢地推进,总而言之,生产力会更低。在开源软件世界,并行版本系统(CVS)一直是版本控制长久以来的唯一选择。事实证明,这是个正确的选择。CVS本身是自由软件,不加限制的处事风格,对网络化操作的支持(众多身处不同地方的程序员可以共享他们的工作),都非常符合开源世界的协作精神。CVS和它半混乱状态的开发模型已成为开源文化的基石。但是,
9、和其它许多工具一样,CVS开始显露出衰老的迹象。而subversion,正是以CVS继承者的面目出现的新型版本控制系统。SUbVerSion的设计者们力图通过两方面的努力赢得CVS用户的青睐:保持构建开源软件版本控制系统的方式(以及视觉和感觉上)与CVS尽可能类似,同时尽力弥补CVS许多显著的缺陷。这些努力的结果使得从CVS移至IJSUbVerSiOn不需要作出重大的变革,subversion确实是非常强大、非常有用和非常灵活的工具。版本控制是管理信息变化的艺术。对于经常对软件改来改去的程序员来说,它早就是重要的工具。但是版本控制软件的价值已远远超出软件开发的领域。总是可以看到人们使用计算机管
10、理易变的信息,这正是版本控制的生存之道,也是subversion表演的舞台。SUbVerSion是一个自由/开源的版本控制系统。也就是说,在SUbVerSiOn管理下,文件和目录可以超越时空。SUbVerSion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。于是我们就可以籍此将数据回复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程序上来说,允许用户在各自的空间里修改和管理同一组数据可以促
11、进团队协作。因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。此旬,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量一如果出现不正确的更改,只要撤销那一次更改操作即可。某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门且来管理源代码树,并且具备许多与软件开发有关的特性一比如,对编程语言的支持,或者提供程序构建工具。不过SUbVerSion并不是这样的系统。它是非曲直一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序一页对别人,则可能是一个货物清单或者是数字电影。但是SUbVerSion的用户管理机
12、制却是很差的.从而需要一个关于SUbVerSion的用户管理系统.在本系统中,它可以使得正在使用subversion的某一项工程的人们,可以通过网络来管理自己的用户资料.而管理员也可以通过这个系统来管理用户.包括对用户最终基本的认证管理和权限管理.subversion用户管理系统有两大主要模块.一个用户认证注册模块.另一个主要的模块是管理员的管理模块.当某位用户需要加入到某一项工程当中的时候.就可以通过网络来注册自己的用户.而管理员模块则可以对注册的用户进行认证.通过认证后可以分配相当的权限.这样就是完成了一个简单的用户管理过程。而我所需要做的则是以下工作:首先实现subversion和Apa
13、che的整合配置,使用apache的WebDAV接口来访问subversion的版本库。然后使用Apache的数据库验证模块来对subversion库的访问权限进行限制。因为验证信息存放在数据库中,可以使用脚本编程实现界面对用户进行添加删除和修改操作。SUbVerSiOn对目录的权限保存在subversion的配置文件当中。可以使用脚本对配置文件进行修改,从而进一步完善subversion的权限管理。编写WEB界面对后台的脚本进行调用,使得可以通过WEB界面对subversion的配置文件进行一定的修改。2系统需求分析subversion是一个自由/开源的版本控制系统。现在subversion
14、也得到了很广泛的使用。但是subversion的用户管理机制却是很差的。从而需要一个关于subversion的用户管理系统.在本系统中,它可以使得正在使用subversion的某一项工程的人们,可以通过网络来管理自己的用户资料。而管理员也可以通过这个系统来管理用户。包括对用户最终基本的认证管理和权限管理。以及最后生成subversion权限配置文件2.1 系统功能模块需求1.1 .1用户注册模块的需求用户注册模块能够满足用户的注册。包括用户的资料管理、修改等等。1.2 .2管理员功能处理模块的需求此模块能够满足管理员对注册的用户进行管理,包括对注册的用户进行审核通过。对审核通过的用户进行删除,
15、分配权限。以及能够使数据库当中的数据能够生成subversion权限配置文件。2.13各个功能模块数据结构图图1系统数据结构22用户环境需求2.2.1用户使用环境需求1、硬件需求:计算机一台2、操作系统:WindowsXP/20003、开发语言:php4、服务器工具:apache5、数据库:mysq16、其它工具:subversion2.2.2其它需求完成系统需求平台的搭建。即apache+php+mysq1+subversion等工具的整合和配置。3系统总体设计3.1 系统功能模块划分SUbVerSion用户管理系统有两大主要模块:一个用户认证注册模块。另一个主要的模块是管理员的管理模块。当某位用户需要加入到某一项工程当中的时候,就可以通过网络来注册自己的用户。而管理员模块则可以对注册的用户进行认证。通过认证后可以分配相当的权限。其中的数据处理在mysq1数据库当中完成。最后由数据库当中表的数据生成SUbVerSiOn权限配置文件。这样就是完成了一个简单的用户管理过程。3.2 系统功能模块流程图图2系统功能模块流程图3.3数据库总体设计在数据库svn_usr中包含了如下的一些表以及它们各自的作用。表1数据库中的表序号表参数名表名说明1user记录注册用户基本信息2users