基于Web的subversion用户管理系统
摘 要
本系统主要是基于Web的subversion系统的用户管理系统。在开源软件世界,并行版本系统(cvs)一直是版本控制长久以来的唯一选择,但是,和其它许多工具一样,cvs开始显露出衰老的迹象,而subversion,正是以cvs继任者的面目出现的新型版本控制系统。但是,它的用户管理机制却是很差,本系统正是基于这个现实。实现友好的subversion用户界面,以提高工作效率。
subversion用户管理系统分为两大基本部分,一个是普通用户的注册及自己资料的修改和管理。另外一个主要部分是超级用户对于普通用户的申请进行认证。以及对通过认证的用户分配相应的权限。
本系统是基于apache和php平台的Web应用程序。采用php人作为前台开发语言。Mysql作为后台数据库。apache作为服务器对subversion用户进行管理。系统具有良好的稳定性,并具有可移植性强等特点。
关键词:Php;Subversion;Apache;用户管理目 录
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
4.1选择使用apache+php+mysql的可行性以及各自特点
4.1.1使用apache+php+mysql的可行性
本系统是基于subversion的用户管理系统。它的要求是在Web页面下完成对用户注册模块的管理和管理员模块的管理。这使得我们生产首先必须建立一个Web平台。而subversion作为一个开源软件。那么我做的这个关于subversion的用户管理系统更要发扬这一种开源精神。并且从这个系统的实际用户出发,在从一系统中的开发语言、数据库和Web服务器中选择了apache、php和mysql这样的组合。最重要的是它们都开源软件,选择它们具有很强的经济优势,使得本系统具有开源的特性,可以免费的发布、修改、使用等等。
4.1.2 php技术的特点
(1)开放源代码
PHP在“The PHP License,version 2.02”协议下发行,实际上也是一种自由的软件。一方面,任何人都可以得到并修改源代码;另一方面,不必主拥有和使用PHP支付任何费用。
(2)跨平台
目前版本的PHP支持Windows 95/98/me、Windows NT/Workstation、Windows 2000 Professional/Server,以及各种版本的UNIX,如Linux、Solaris UNIX、SCO UNIX等。用PHP开发网页代码可以很容易地移植到不同的系统平台上。
(3)数据库库支持
对数据库提供广泛的支持是PHP受到人们普遍欢迎的主要原因之一,世界上流行的数据库系统几乎都在它的支持之列,包括:Adabas D、DBA、dBase、dbm、filePro、Informix、InterBase、mSQL、Microsoft SQL Server、MySQL、Solid、 Sybase、ODBC、Oracle8、Oracle、PostgreSQL等。
(4)网络支持
PHP对网络的支持非常全面,包括与电子邮件相关的IMAP和POP3、简单网管SNMP、网络新闻NMTP、账号共用NIS、HTTP及Apache服务器和目录协议LDAP等。
(5)功能强大
一般语言所具有的功能,数学运算、时间处理、文件系统、字符串处理、进程处理等,PHP都一应俱全。用户也可以按照PHP开发规范自行开发功能扩展模块。在添加其他模块之后,PHP提供更多的功能,如英文拼写检查、BC高精确度计算、公元历法、PDF文件格式、Hyperwave服务器、图形处理、加密、解密、哈系处理、WDDX功能、qmail与vmailmgr系统、压缩文件处理、XML解析等。PHP的功能足以支持任何类型的Web站点。
(6)易用性
PHP语言的语法类似于C、Jave、pear、整个语言的核心非常短小、精练,主要通过函数扩展其功能,因此非常易于理解、掌握和使用。