基于Web的subversion用户管理系统

摘    要

本系统主要是基于Web的subversion系统的用户管理系统。在开源软件世界,并行版本系统(cvs)一直是版本控制长久以来的唯一选择,但是,和其它许多工具一样,cvs开始显露出衰老的迹象,而subversion,正是以cvs继任者的面目出现的新型版本控制系统。但是,它的用户管理机制却是很差,本系统正是基于这个现实。实现友好的subversion用户界面,以提高工作效率。

subversion用户管理系统分为两大基本部分,一个是普通用户的注册及自己资料的修改和管理。另外一个主要部分是超级用户对于普通用户的申请进行认证。以及对通过认证的用户分配相应的权限。

本系统是基于apache和php平台的Web应用程序。采用php人作为前台开发语言。Mysql作为后台数据库。apache作为服务器对subversion用户进行管理。系统具有良好的稳定性,并具有可移植性强等特点。

关键词Php;Subversion;Apache;用户管理

 

User Management System Based on WEB for Subversion

Abstract

The system is a Web based user management system about subversion. On the Open Source World, concurrent version system (cvs) has long been the only choice in version control. However, like many other tools, cvs begins to show out of date. And subversion, as a successor to cvs which has the features of the new version control system. However, its user management mechanism is poor. The system is based on the reality, achieves a friendly user interface, in order to enhance efficiency.

The user management sub-system of subversion is divided into two basic parts. One part is ordinary user management, including registration and information editing. Another major part is the super-user authenticates to the common user’s applications and the distribution of the corresponding authority.

The system is based on Web using apache, php and mysql. Php as a active pager procedure, mysql as background information storage. Apache as HTTP server to provide a web interface for this user management system. The system has high stability and portability .

Key words: Php;Subversion;Apache;User Managemen

目  录

论文总页数:24页

1引  言... 1

2系统需求分析... 2

2.1系统功能模块需求... 2

2.1.1用户注册模块的需求... 2

2.1.2管理员功能处理模块的需求.. 2

2.1.3各个功能模块数据结构图... 3

2.2用户环境需求... 3

2.2.1用户使用环境需求.. 3

2.2.2其它需求.. 3

3系统总体设计... 3

3.1系统功能模块划分.. 3

3.2系统功能模块流程图... 3

3.3数据库总体设计... 4

4环境选择、搭建和配置.. 4

4.1选择使用apache+php+mysql的可行性以及各自特点.. 4

4.1.1使用apache+php+mysql的可行性.. 4

4.1.2 php技术的特点... 4

4.1.3 apache的技术特点... 5

4.1.4 mysql的技术特点.. 5

4.2系统环境的搭建... 6

4.2.1 安装配置php. 6

4.2.2 安装配置apache. 6

4.2.3 安装配置mysql 7

4.2.4 安装subversion以及建立版本库... 8

4.2.5 subversion服务器配置.. 9

5模块功能的详细实现过程... 10

5.1本系统使用的subversion权限机制.. 10

5.2数据流程图... 11

5.2.1用户注册数据流程图... 11

5.2.2管理员管理数据流程图.. 12

5.3数据库结构设计.. 12

5.4数据库操作... 13

5.4.1数据库的连接、添加、删除和更新等.. 13

5.5生成subversion权限配置文件时对文件的操作... 17

5.5.1数据文件的写入... 17

5.5.2数据文件的读取... 18

6模块测试结果... 18

6.1用户注册模块测试结果... 18

6.2管理员模块测试结果.. 19

结    论... 22

参考文献... 22

致    谢... 23

声    明... 24

1引  言

版本控制之于程序员,就好像还原系统对于计算机一样。使得即使计算机系统崩溃了,也能回复到正常的状态。同样,版本控制使您有能力去冒以往想都不敢想的风险。如果哪儿出了错,您总是可以使自己的代码回复到一个已知的、工作正常的版本。您可以在不触及主干的分支中进行试验,而不会影响到其他小组成员。如果没有版本控制,您必须极为慎之又慎,缓慢地推进,总而言之,生产力会更低。

在开源软件世界,并行版本系统(CVS)一直是版本控制长久以来的唯一选择。事实证明,这是个正确的选择。CVS本身是自由软件,不加限制的处事风格,对网络化操作的支持(众多身处不同地方的程序员可以共享他们的工作),都非常符合开源世界的协作精神。CVS和它半混乱状态的开发模型已成为开源文化的基石。

但是,和其它许多工具一样,CVS开始显露出衰老的迹象。而subversion,正是以CVS继承者的面目出现的新型版本控制系统。subversion的设计者们力图通过两方面的努力赢得CVS用户的青睐:保持构建开源软件版本控制系统的方式(以及视觉和感觉上)与CVS尽可能类似,同时尽力弥补CVS许多显著的缺陷。这些努力的结果使得从CVS移到subversion不需要作出重大的变革,subversion确实是非常强大、非常有用和非常灵活的工具。

版本控制是管理信息变化的艺术。对于经常对软件改来改去的程序员来说,它早就是重要的工具。但是版本控制软件的价值已远远超出软件开发的领域。总是可以看到人们使用计算机管理易变的信息,这正是版本控制的生存之道,也是subversion表演的舞台。

subversion是一个自由/开源的版本控制系统。也就是说,在subversion管理下,文件和目录可以超越时空。subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。于是我们就可以籍此将数据回复到以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。

subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程序上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。此旬,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。

某些版本控制系统本身也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门且来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过subversion并不是这样的系统。它是非曲直一个通用系统,可以管理任何类型的文件集。对你来说,这些文件这可能是源程序—页对别人,则可能是一个货物清单或者是数字电影。

但是subversion的用户管理机制却是很差的.从而需要一个关于subversion的用户管理系统.在本系统中,它可以使得正在使用subversion的某一项工程的人们,可以通过网络来管理自己的用户资料.而管理员也可以通过这个系统来管理用户.包括对用户最终基本的认证管理和权限管理.

subversion用户管理系统有两大主要模块.一个用户认证注册模块.另一个主要的模块是管理员的管理模块.当某位用户需要加入到某一项工程当中的时候.就可以通过网络来注册自己的用户.而管理员模块则可以对注册的用户进行认证.通过认证后可以分配相当的权限.这样就是完成了一个简单的用户管理过程。而我所需要做的则是以下工作:

首先实现subversion和Apache的整合配置,使用apache的WebDAV接口来访问subversion的版本库。然后使用Apache的数据库验证模块来对subversion库的访问权限进行限制。因为验证信息存放在数据库中,可以使用脚本编程实现界面对用户进行添加删除和修改操作。subversion对目录的权限保存在subversion的配置文件当中。可以使用脚本对配置文件进行修改,从而进一步完善subversion的权限管理。编写WEB界面对后台的脚本进行调用,使得可以通过WEB界面对subversion的配置文件进行一定的修改。

2系统需求分析

subversion是一个自由/开源的版本控制系统。现在subversion也得到了很广泛的使用。但是subversion的用户管理机制却是很差的。从而需要一个关于subversion的用户管理系统.在本系统中,它可以使得正在使用subversion的某一项工程的人们,可以通过网络来管理自己的用户资料。而管理员也可以通过这个系统来管理用户。包括对用户最终基本的认证管理和权限管理。以及最后生成subversion权限配置文件

2.1系统功能模块需求

2.1.1用户注册模块的需求

用户注册模块能够满足用户的注册。包括用户的资料管理、修改等等。

2.1.2管理员功能处理模块的需求

此模块能够满足管理员对注册的用户进行管理,包括对注册的用户进行审核通过。对审核通过的用户进行删除,分配权限。以及能够使数据库当中的数据能够生成subversion权限配置文件。

2.1.3各个功能模块数据结构图

用户注册

Mysql数据库

Subversion权限配置文件

    

图1 系统数据结构

2.2用户环境需求

2.2.1用户使用环境需求

1、硬件需求:计算机一台

2、操作系统:Windows XP/2000

3、开发语言:php

4、服务器工具:apache

5、数据库:mysql

6、其它工具:subversion

2.2.2其它需求

完成系统需求平台的搭建。即apache+php+mysql+subversion等工具的整合和配置。

3系统总体设计

3.1系统功能模块划分

subversion用户管理系统有两大主要模块:一个用户认证注册模块。另一个主要的模块是管理员的管理模块。当某位用户需要加入到某一项工程当中的时候,就可以通过网络来注册自己的用户。而管理员模块则可以对注册的用户进行认证。通过认证后可以分配相当的权限。其中的数据处理在mysql数据库当中完成。最后由数据库当中表的数据生成subversion权限配置文件。这样就是完成了一个简单的用户管理过程。

3.2系统功能模块流程图

同步SVN

审核

写入数据库

管理员管理模块

写入数据库

结束

开始

用户认证注册模块

注册

 

图2 系统功能模块流程图

3.3数据库总体设计

在数据库svn_usr中包含了如下的一些表以及它们各自的作用。

表1 数据库中的表

序号

表参数名

表名说明

1

user

记录注册用户基本信息

2

users

用来进行apache登录认证

3

Pre_reg_user

记录未审核注册用户信息

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

需要什么私信我

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值