【正文】
基于Web的subversion用戶管理系統(tǒng)摘 要本系統(tǒng)主要是基于Web的subversion系統(tǒng)的用戶管理系統(tǒng)。采用php人作為前臺開發(fā)語言。您可以在不觸及主干的分支中進行試驗,而不會影響到其他小組成員。subversion的設計者們力圖通過兩方面的努力贏得CVS用戶的青睞:保持構建開源軟件版本控制系統(tǒng)的方式(以及視覺和感覺上)與CVS盡可能類似,同時盡力彌補CVS許多顯著的缺陷。subversion將文件存放在中心版本庫里。某些版本控制系統(tǒng)本身也是軟件配置管理(SCM)系統(tǒng),這種系統(tǒng)經過精巧的設計,專門且來管理源代碼樹,并且具備許多與軟件開發(fā)有關的特性—比如,對編程語言的支持,或者提供程序構建工具。subversion對目錄的權限保存在subversion的配置文件當中。包括對用戶最終基本的認證管理和權限管理。3系統(tǒng)總體設計subversion用戶管理系統(tǒng)有兩大主要模塊:一個用戶認證注冊模塊。同步SVN審核寫入數據庫管理員管理模塊寫入數據庫結束開始用戶認證注冊模塊注冊圖2 系統(tǒng)功能模塊流程圖在數據庫svn_usr中包含了如下的一些表以及它們各自的作用。 php技術的特點 (1)開放源代碼PHP在“The PHP License,version ”協(xié)議下發(fā)行,實際上也是一種自由的軟件。在添加其他模塊之后,PHP提供更多的功能,如英文拼寫檢查、BC高精確度計算、公元歷法、PDF文件格式、Hyperwave服務器、圖形處理、加密、解密、哈系處理、WDDX功能、qmail與vmailmgr系統(tǒng)、壓縮文件處理、XML解析等。本來它只用于小型或試驗Internet網絡,后來逐步擴充到各種Unix系統(tǒng)中,尤其對Linux的支持相當完美。線程是輕量級的進程,它可以靈活地為用戶提供服務,而不過多的系統(tǒng)資源。mysql支持所有的ODBC ,這樣就可以用Access連接mysql服務器,從而使得mysql的應用被大大擴展。(8)PHP為mysql提供了強力支持,PHP中提供了一整套的mysql函數,對mysql進行了全方位的支持。這些軟件可以到 上面下載獲得。這個協(xié)議利用了無處不在的HTTP協(xié)議是廣域網的核心這一點,添加了寫能力—更明確一點,版本化的寫—能力。與 CVS 相比,Subversion 實現了更加先進和安全的用戶認證功能。svn_db39。 . mysql_error())。 $query = mysql_query ($sql)。username39。groups39。dept39。 if(!$query) { die (39。,39。 )。, 39。, 39。 } function get_user_info($table,$user) //取得用戶信息 { $sql = SELECT * FROM $table WHERE username=39。.$userinfo[39。.$userinfo[39。.$userinfo[39。 } return true 。$u_tel39。 } return true 。 while($row = mysql_fetch_assoc($query)) { $result[$i] = $row。\config\authz39。 } // 將$somecontent寫入到我們打開的文件中。 echo $buffer。Subversion對目錄的權限保存在Subversion的配置文件當中。參考文獻[1] 彭曉明,[M].北京:電子工業(yè)出版社,2001。致 謝本文是在高宏宇老師的熱情關心和指導下完成的。(3)學??梢詫W術交流為目的復制、贈送和交換學位論文。subversion用戶管理系統(tǒng)分為兩大基本部分,一個是普通用戶的注冊及自己資料的修改和管理。關鍵詞:Php;Subversion;Apache;用戶管理User Management System Based on WEB for SubversionAbstractThe 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 subsystem of subversion is divided into two basic parts. One part is ordinary user management, including registration and information editing. Another major part is the superuser authenticates to the mon 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引 言 12系統(tǒng)需求分析 2 2 2 2 3 3 3 33系統(tǒng)總體設計 3 3 3 44環(huán)境選擇、搭建和配置 4+php+mysql的可行性以及各自特點 4+php+mysql的可行性 4 php技術的特點 4 apache的技術特點 5 mysql的技術特點 5 6 安裝配置php 6 安裝配置apache 6 安裝配置mysql 7 安裝subversion以及建立版本庫 8 subversion服務器配置 95模塊功能的詳細實現過程 10 10 11 11 12 12 1添加、刪除和更新等 13 17 17 186模塊測試結果 18 18 19結 論 22參考文獻 22致 謝 23聲 明 241引 言版本控制之于程序員,就好像還原系統(tǒng)對于計算機一樣。CVS本身是自由軟件,不加限制的處事風格,對網絡化操作的支持(眾多身處不同地方的程序員可以共享他們的工作),都非常符合開源世界的協(xié)作精神。但是版本控制軟件的價值已遠遠超出軟件開發(fā)的領域。subversion的版本庫可以通過網絡訪問,從而使用戶可以在不同的電腦上進行操作。,它可以使得正在使用subversion的某一項工程的人們,.?,F在subversion也得到了很廣泛的使用。對審核通過的用戶進行刪除,分配權限。通過認證后可以分配相當的權限。而subversion作為一個開源軟件。(3)數據庫庫支持對數據庫提供廣泛的支持是PHP受到人們普遍歡迎的主要原因之一,世界上流行的數據庫系統(tǒng)幾乎都在它的支持之列,包括:Adabas D、DBA、dBase、dbm、filePro、Informix、InterBase、mSQL、Microsoft SQL Server、MySQL、Solid、 Sybase、ODBC、OracleOracle、PostgreSQL等。它可以運行在幾乎所有廣泛使用的計算機平臺上。 mysql的技術特點mysql是一個快速、多線程、多用戶的SQL數據庫服務器,其出現雖然只有短短的數年時間,但憑借著“開放源代碼”的東風,它從眾多的數據庫中脫穎而出,成為PHP的首選數據庫。這意味著在一個操作系統(tǒng)中實現的應用可以很方便地移植到其他的操作系統(tǒng)下。(6)mysql擁有一個非??焖俣曳€(wěn)定的基于線程的內存分配系統(tǒng),可以持續(xù)使用面不必擔心其穩(wěn)定性。用記事本打開,修改一下信息:搜索extension_dir = ./ 這行,并將其路徑指到你的PHP目錄下的extensions目錄,比如:extension_dir = D:\PHP\extensions 安裝配置apache我們下載到的for win32的是一個Msi安裝文件,直接雙擊它后就會自動執(zhí)行Apache的安裝了,按照提示安裝即可,其中要書寫的東西按照你的喜好填寫,沒甚么影響,當然,目錄我還是建議你和PHP的目錄以致,選擇D:\目錄,這樣安裝后可以看到D:\Apache了。這里不繼續(xù)描述,默認的用戶名是root,密碼為空。你需要Apache d DAV模塊,Subversion和與之一同分發(fā)的mod_dav_svn文件系統(tǒng)提供者模塊,如果你有了這些組件,網絡化你的版本庫將非常簡單,如:配置好d ,并且使用mod_dav啟動,為mod_dav安裝mod_dav_svn插件,它會使用Subversion的庫訪問版本庫,并且(或者說暴露)版本庫。開始修改信息用戶注冊未注冊用戶是否注冊已注冊用戶 否 是Pre_reg_user表user表結束圖形注釋::數據庫 :功能 :單向數據流動 :雙向數據流動圖6 用戶注冊數據流程圖開始分配用戶組權限審核注冊用戶Test2表user表subversion權限配置文件同步結束圖形注釋::數據文件:數據庫 :功能 ?。簡蜗驍祿鲃? :雙向數據流動圖7 管理員管理數據流程圖數據庫當中各個表的詳細設計表2 記錄用戶基本信息主鍵列(屬性)名中文名稱類型寬度是否允許為空◎username用戶名varChar25NOT NULLpasswd用戶密碼varChar25NOT NULLgroups用戶組varChar25NOT NULLrealname用戶真實姓名varChar10NOT NULLdept所屬部門varChar50NOT NULLtel聯系電話varChar20NOT NULL表3 記錄未審核注冊用戶信息主鍵列(屬性)名中文名稱類型寬度是否允許為空◎username用戶名varChar25NOT NULLpasswd用戶密碼varChar25NOT NULLgroups用戶組varChar25NOT NULLrealname用戶真實姓名varChar10NOT NULLdept所屬部門varChar50NOT NULLtel聯系電話varChar20NOT NULL表4 用來進行apache登錄認證主鍵列(屬性)名中文名稱類型寬度是否允許為空◎username用戶名varChar25NOT NULLpasswd用戶密碼varChar25NOT NULLgroups用戶組varChar25NOT NULL表5 記錄用戶權限數據以及生成subversion權限配置文件主鍵列(屬性)名中文名稱類型寬度是否允許為空number列名int20NOT NULLgroup用戶組名varChar50NOT NULLname用戶名varChar50NOT NULL、添加、刪除和更新等class CSvnDb { //private private $m_link = NULL。svn_usr39。 if (!$m_link) { die(39。localhost39。最新的使用Apache HTTP的Subversion的編譯方法和Apache的配置方式可以看Subversion源代碼樹根目錄的INSTALL文件。圖3 服務器安裝圖