版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、某企業(yè)用戶管理系統(tǒng)的實(shí)現(xiàn)摘 要本系統(tǒng)主要是基于Web的subversion系統(tǒng)的用戶管理系統(tǒng)。在開源軟件世界,并行版本系統(tǒng)(cvs)一直是版本控制長久以來的唯一選擇,但是,和其它許多工具一樣,cvs開始顯露出衰老的跡象,而subversion,正是以cvs繼任者的面目出現(xiàn)的新型版本控制系統(tǒng)。但是,它的用戶管理機(jī)制卻是很差,本系統(tǒng)正是基于這個(gè)現(xiàn)實(shí)。實(shí)現(xiàn)友好的subversion用戶界面,以提高工作效率。subversion用戶管理系統(tǒng)分為兩大基本部分,一個(gè)是普通用戶的注冊及自己資料的修改和管理。另外一個(gè)主要部分是超級用戶對于普通用戶的申請進(jìn)行認(rèn)證。以及對通過認(rèn)證的用戶分配相應(yīng)的權(quán)限。本系統(tǒng)是基于
2、apache和php平臺的Web應(yīng)用程序。采用php人作為前臺開發(fā)語言。Mysql作為后臺數(shù)據(jù)庫。apache作為服務(wù)器對subversion用戶進(jìn)行管理。系統(tǒng)具有良好的穩(wěn)定性,并具有可移植性強(qiáng)等特點(diǎn)。關(guān)鍵詞: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
3、 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 r
4、eality, 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 com
5、mon users 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 ha
6、s high stability and portability .Key words: Php;Subversion;Apache;User Managemen目 錄論文總頁數(shù):24頁1引 言12系統(tǒng)需求分析22.1系統(tǒng)功能模塊需求2用戶注冊模塊的需求2管理員功能處理模塊的需求2各個(gè)功能模塊數(shù)據(jù)結(jié)構(gòu)圖32.2用戶環(huán)境需求3用戶使用環(huán)境需求3其它需求33系統(tǒng)總體設(shè)計(jì)33.1系統(tǒng)功能模塊劃分33.2系統(tǒng)功能模塊流程圖33.3數(shù)據(jù)庫總體設(shè)計(jì)44環(huán)境選擇、搭建和配置44.1選擇使用apache+php+mysql的可行性以及各自特點(diǎn)4使用apache+php+mysql的可行性4技術(shù)的特點(diǎn)4的技術(shù)特
7、點(diǎn)5的技術(shù)特點(diǎn)54.2系統(tǒng)環(huán)境的搭建6安裝配置php6安裝配置apache6安裝配置mysql7安裝subversion以及建立版本庫8服務(wù)器配置95模塊功能的詳細(xì)實(shí)現(xiàn)過程105.1本系統(tǒng)使用的subversion權(quán)限機(jī)制105.2數(shù)據(jù)流程圖11用戶注冊數(shù)據(jù)流程圖11管理員管理數(shù)據(jù)流程圖125.3數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)125.4數(shù)據(jù)庫操作13數(shù)據(jù)庫的連接、添加、刪除和更新等135.5生成subversion權(quán)限配置文件時(shí)對文件的操作17數(shù)據(jù)文件的寫入17數(shù)據(jù)文件的讀取186模塊測試結(jié)果186.1用戶注冊模塊測試結(jié)果186.2管理員模塊測試結(jié)果19結(jié) 論22參考文獻(xiàn)221引 言版本控制之于程序員,就好像
8、還原系統(tǒng)對于計(jì)算機(jī)一樣。使得即使計(jì)算機(jī)系統(tǒng)崩潰了,也能回復(fù)到正常的狀態(tài)。同樣,版本控制使您有能力去冒以往想都不敢想的風(fēng)險(xiǎn)。如果哪兒出了錯(cuò),您總是可以使自己的代碼回復(fù)到一個(gè)已知的、工作正常的版本。您可以在不觸及主干的分支中進(jìn)行試驗(yàn),而不會影響到其他小組成員。如果沒有版本控制,您必須極為慎之又慎,緩慢地推進(jìn),總而言之,生產(chǎn)力會更低。在開源軟件世界,并行版本系統(tǒng)(CVS)一直是版本控制長久以來的唯一選擇。事實(shí)證明,這是個(gè)正確的選擇。CVS本身是自由軟件,不加限制的處事風(fēng)格,對網(wǎng)絡(luò)化操作的支持(眾多身處不同地方的程序員可以共享他們的工作),都非常符合開源世界的協(xié)作精神。CVS和它半混亂狀態(tài)的開發(fā)模型已
9、成為開源文化的基石。但是,和其它許多工具一樣,CVS開始顯露出衰老的跡象。而subversion,正是以CVS繼承者的面目出現(xiàn)的新型版本控制系統(tǒng)。subversion的設(shè)計(jì)者們力圖通過兩方面的努力贏得CVS用戶的青睞:保持構(gòu)建開源軟件版本控制系統(tǒng)的方式(以及視覺和感覺上)與CVS盡可能類似,同時(shí)盡力彌補(bǔ)CVS許多顯著的缺陷。這些努力的結(jié)果使得從CVS移到subversion不需要作出重大的變革,subversion確實(shí)是非常強(qiáng)大、非常有用和非常靈活的工具。版本控制是管理信息變化的藝術(shù)。對于經(jīng)常對軟件改來改去的程序員來說,它早就是重要的工具。但是版本控制軟件的價(jià)值已遠(yuǎn)遠(yuǎn)超出軟件開發(fā)的領(lǐng)域。總是可
10、以看到人們使用計(jì)算機(jī)管理易變的信息,這正是版本控制的生存之道,也是subversion表演的舞臺。subversion是一個(gè)自由/開源的版本控制系統(tǒng)。也就是說,在subversion管理下,文件和目錄可以超越時(shí)空。subversion將文件存放在中心版本庫里。這個(gè)版本庫很像一個(gè)普通的文件服務(wù)器,不同的是,它可以記錄每一次文件和目錄的修改情況。于是我們就可以籍此將數(shù)據(jù)回復(fù)到以前的版本,并可以查看數(shù)據(jù)的更改細(xì)節(jié)。正因?yàn)槿绱?,許多人將版本控制系統(tǒng)當(dāng)作一種神奇的“時(shí)間機(jī)器”。subversion的版本庫可以通過網(wǎng)絡(luò)訪問,從而使用戶可以在不同的電腦上進(jìn)行操作。從某種程序上來說,允許用戶在各自的空間里修改
11、和管理同一組數(shù)據(jù)可以促進(jìn)團(tuán)隊(duì)協(xié)作。因?yàn)樾薷牟辉偈菃尉€進(jìn)行(單線進(jìn)行也就是必須一個(gè)一個(gè)進(jìn)行),開發(fā)進(jìn)度會進(jìn)展迅速。此旬,由于所有的工作都已版本化,也就不必?fù)?dān)心由于錯(cuò)誤的更改而影響軟件質(zhì)量如果出現(xiàn)不正確的更改,只要撤銷那一次更改操作即可。某些版本控制系統(tǒng)本身也是軟件配置管理(SCM)系統(tǒng),這種系統(tǒng)經(jīng)過精巧的設(shè)計(jì),專門且來管理源代碼樹,并且具備許多與軟件開發(fā)有關(guān)的特性比如,對編程語言的支持,或者提供程序構(gòu)建工具。不過subversion并不是這樣的系統(tǒng)。它是非曲直一個(gè)通用系統(tǒng),可以管理任何類型的文件集。對你來說,這些文件這可能是源程序頁對別人,則可能是一個(gè)貨物清單或者是數(shù)字電影。但是subversi
12、on的用戶管理機(jī)制卻是很差的.從而需要一個(gè)關(guān)于subversion的用戶管理系統(tǒng).在本系統(tǒng)中,它可以使得正在使用subversion的某一項(xiàng)工程的人們,可以通過網(wǎng)絡(luò)來管理自己的用戶資料.而管理員也可以通過這個(gè)系統(tǒng)來管理用戶.包括對用戶最終基本的認(rèn)證管理和權(quán)限管理.subversion用戶管理系統(tǒng)有兩大主要模塊.一個(gè)用戶認(rèn)證注冊模塊.另一個(gè)主要的模塊是管理員的管理模塊.當(dāng)某位用戶需要加入到某一項(xiàng)工程當(dāng)中的時(shí)候.就可以通過網(wǎng)絡(luò)來注冊自己的用戶.而管理員模塊則可以對注冊的用戶進(jìn)行認(rèn)證.通過認(rèn)證后可以分配相當(dāng)?shù)臋?quán)限.這樣就是完成了一個(gè)簡單的用戶管理過程。而我所需要做的則是以下工作:首先實(shí)現(xiàn)subver
13、sion和Apache的整合配置,使用apache的WebDAV接口來訪問subversion的版本庫。然后使用Apache的數(shù)據(jù)庫驗(yàn)證模塊來對subversion庫的訪問權(quán)限進(jìn)行限制。因?yàn)轵?yàn)證信息存放在數(shù)據(jù)庫中,可以使用腳本編程實(shí)現(xiàn)界面對用戶進(jìn)行添加刪除和修改操作。subversion對目錄的權(quán)限保存在subversion的配置文件當(dāng)中。可以使用腳本對配置文件進(jìn)行修改,從而進(jìn)一步完善subversion的權(quán)限管理。編寫WEB界面對后臺的腳本進(jìn)行調(diào)用,使得可以通過WEB界面對subversion的配置文件進(jìn)行一定的修改。2系統(tǒng)需求分析subversion是一個(gè)自由/開源的版本控制系統(tǒng)。現(xiàn)在su
14、bversion也得到了很廣泛的使用。但是subversion的用戶管理機(jī)制卻是很差的。從而需要一個(gè)關(guān)于subversion的用戶管理系統(tǒng).在本系統(tǒng)中,它可以使得正在使用subversion的某一項(xiàng)工程的人們,可以通過網(wǎng)絡(luò)來管理自己的用戶資料。而管理員也可以通過這個(gè)系統(tǒng)來管理用戶。包括對用戶最終基本的認(rèn)證管理和權(quán)限管理。以及最后生成subversion權(quán)限配置文件2.1系統(tǒng)功能模塊需求用戶注冊模塊的需求用戶注冊模塊能夠滿足用戶的注冊。包括用戶的資料管理、修改等等。管理員功能處理模塊的需求此模塊能夠滿足管理員對注冊的用戶進(jìn)行管理,包括對注冊的用戶進(jìn)行審核通過。對審核通過的用戶進(jìn)行刪除,分配權(quán)限。
15、以及能夠使數(shù)據(jù)庫當(dāng)中的數(shù)據(jù)能夠生成subversion權(quán)限配置文件。各個(gè)功能模塊數(shù)據(jù)結(jié)構(gòu)圖用戶注冊Mysql數(shù)據(jù)庫Subversion權(quán)限配置文件 圖1 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)2.2用戶環(huán)境需求2.2.1用戶使用環(huán)境需求1、硬件需求:計(jì)算機(jī)一臺2、操作系統(tǒng):Windows XP/20003、開發(fā)語言:php4、服務(wù)器工具:apache5、數(shù)據(jù)庫:mysql6、其它工具:subversion2.2.2其它需求完成系統(tǒng)需求平臺的搭建。即apache+php+mysql+subversion等工具的整合和配置。3系統(tǒng)總體設(shè)計(jì)3.1系統(tǒng)功能模塊劃分subversion用戶管理系統(tǒng)有兩大主要模塊:一個(gè)用戶認(rèn)證注冊
16、模塊。另一個(gè)主要的模塊是管理員的管理模塊。當(dāng)某位用戶需要加入到某一項(xiàng)工程當(dāng)中的時(shí)候,就可以通過網(wǎng)絡(luò)來注冊自己的用戶。而管理員模塊則可以對注冊的用戶進(jìn)行認(rèn)證。通過認(rèn)證后可以分配相當(dāng)?shù)臋?quán)限。其中的數(shù)據(jù)處理在mysql數(shù)據(jù)庫當(dāng)中完成。最后由數(shù)據(jù)庫當(dāng)中表的數(shù)據(jù)生成subversion權(quán)限配置文件。這樣就是完成了一個(gè)簡單的用戶管理過程。3.2系統(tǒng)功能模塊流程圖同步SVN審核寫入數(shù)據(jù)庫管理員管理模塊寫入數(shù)據(jù)庫結(jié)束開始用戶認(rèn)證注冊模塊注冊圖2 系統(tǒng)功能模塊流程圖3.3數(shù)據(jù)庫總體設(shè)計(jì)在數(shù)據(jù)庫svn_usr中包含了如下的一些表以及它們各自的作用。表1 數(shù)據(jù)庫中的表序號表參數(shù)名表名說明1user記錄注冊用戶基本信
17、息2users用來進(jìn)行apache登錄認(rèn)證3Pre_reg_user記錄未審核注冊用戶信息4Test2記錄注冊用戶的組權(quán)限4環(huán)境選擇、搭建和配置4.1選擇使用apache+php+mysql的可行性以及各自特點(diǎn)4.1.1使用apache+php+mysql的可行性本系統(tǒng)是基于subversion的用戶管理系統(tǒng)。它的要求是在Web頁面下完成對用戶注冊模塊的管理和管理員模塊的管理。這使得我們生產(chǎn)首先必須建立一個(gè)Web平臺。而subversion作為一個(gè)開源軟件。那么我做的這個(gè)關(guān)于subversion的用戶管理系統(tǒng)更要發(fā)揚(yáng)這一種開源精神。并且從這個(gè)系統(tǒng)的實(shí)際用戶出發(fā),在從一系統(tǒng)中的開發(fā)語言、數(shù)據(jù)庫和
18、Web服務(wù)器中選擇了apache、php和mysql這樣的組合。最重要的是它們都開源軟件,選擇它們具有很強(qiáng)的經(jīng)濟(jì)優(yōu)勢,使得本系統(tǒng)具有開源的特性,可以免費(fèi)的發(fā)布、修改、使用等等。4.1.2 php技術(shù)的特點(diǎn) (1)開放源代碼PHP在“The PHP License,version 2.02”協(xié)議下發(fā)行,實(shí)際上也是一種自由的軟件。一方面,任何人都可以得到并修改源代碼;另一方面,不必主擁有和使用PHP支付任何費(fèi)用。(2)跨平臺目前版本的PHP支持Windows 95/98/me、Windows NT/Workstation、Windows 2000 Professional/Server,以及各種版
19、本的UNIX,如Linux、Solaris UNIX、SCO UNIX等。用PHP開發(fā)網(wǎng)頁代碼可以很容易地移植到不同的系統(tǒng)平臺上。(3)數(shù)據(jù)庫庫支持對數(shù)據(jù)庫提供廣泛的支持是PHP受到人們普遍歡迎的主要原因之一,世界上流行的數(shù)據(jù)庫系統(tǒng)幾乎都在它的支持之列,包括:Adabas D、DBA、dBase、dbm、filePro、Informix、InterBase、mSQL、Microsoft SQL Server、MySQL、Solid、 Sybase、ODBC、Oracle8、Oracle、PostgreSQL等。(4)網(wǎng)絡(luò)支持PHP對網(wǎng)絡(luò)的支持非常全面,包括與電子郵件相關(guān)的IMAP和POP3、簡
20、單網(wǎng)管SNMP、網(wǎng)絡(luò)新聞NMTP、賬號共用NIS、HTTP及Apache服務(wù)器和目錄協(xié)議LDAP等。(5)功能強(qiáng)大一般語言所具有的功能,數(shù)學(xué)運(yùn)算、時(shí)間處理、文件系統(tǒng)、字符串處理、進(jìn)程處理等,PHP都一應(yīng)俱全。用戶也可以按照PHP開發(fā)規(guī)范自行開發(fā)功能擴(kuò)展模塊。在添加其他模塊之后,PHP提供更多的功能,如英文拼寫檢查、BC高精確度計(jì)算、公元?dú)v法、PDF文件格式、Hyperwave服務(wù)器、圖形處理、加密、解密、哈系處理、WDDX功能、qmail與vmailmgr系統(tǒng)、壓縮文件處理、XML解析等。PHP的功能足以支持任何類型的Web站點(diǎn)。(6)易用性PHP語言的語法類似于C、Jave、pear、整個(gè)語
21、言的核心非常短小、精練,主要通過函數(shù)擴(kuò)展其功能,因此非常易于理解、掌握和使用。4.1.3 apache的技術(shù)特點(diǎn)Apache是世界使用排名第一的Web服務(wù)器。它可以運(yùn)行在幾乎所有廣泛使用的計(jì)算機(jī)平臺上。它源于NCSAhttpd服務(wù)器,經(jīng)過多次修改,成為世界上最流行的Web服務(wù)器軟件之一。Apache取自“a patchy server”的讀音,意思是充滿補(bǔ)丁的服務(wù)器,因?yàn)樗亲杂绍浖圆粩嘤腥藖頌樗_發(fā)新的功能、新的特性、修改原來的缺陷。Apache的特點(diǎn)是簡單、速度快、性能穩(wěn)定,并可做代理服務(wù)器來使用。本來它只用于小型或試驗(yàn)Internet網(wǎng)絡(luò),后來逐步擴(kuò)充到各種Unix系統(tǒng)中,尤其對L
22、inux的支持相當(dāng)完美。Apache有多種產(chǎn)品,可以支持SSL技術(shù),支持多個(gè)虛擬主機(jī)。Apache是以進(jìn)程為基礎(chǔ)的結(jié)構(gòu),進(jìn)程要比線程消耗更多的系統(tǒng)開支,不太適合于多處理器環(huán)境,因此,在一個(gè)Apache Web站點(diǎn)擴(kuò)容時(shí),通常是增加服務(wù)器或擴(kuò)充群集節(jié)點(diǎn)而不是增加處理器。它的成功之處主要在于它的源代碼開放、有一支開放的開發(fā)隊(duì)伍、支持跨平臺的應(yīng)用以及它的可移植性等方面。4.1.4 mysql的技術(shù)特點(diǎn)mysql是一個(gè)快速、多線程、多用戶的SQL數(shù)據(jù)庫服務(wù)器,其出現(xiàn)雖然只有短短的數(shù)年時(shí)間,但憑借著“開放源代碼”的東風(fēng),它從眾多的數(shù)據(jù)庫中脫穎而出,成為PHP的首選數(shù)據(jù)庫。除了因?yàn)閹缀跏敲赓M(fèi)的這點(diǎn)之外,支
23、持正規(guī)的SQL查詢語言和采用多種數(shù)據(jù)類型,能對數(shù)據(jù)進(jìn)行各種詳細(xì)的查詢等都是PHP選擇mysql的主要原因。下面,就讓我們來看看mysql數(shù)據(jù)庫的主要特征。 (1)mysql的核心程序采用完全的多線程編程。線程是輕量級的進(jìn)程,它可以靈活地為用戶提供服務(wù),而不過多的系統(tǒng)資源。用多線程和C語言實(shí)現(xiàn)的mysql能很容易充分利用CPU。(2)mysql可運(yùn)行在不同的操作系統(tǒng)下。簡單地說,mysql可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多種操作系統(tǒng)平臺。這意味著在一個(gè)操作系統(tǒng)中實(shí)現(xiàn)的應(yīng)用可以很方便地移植到其他的操作系統(tǒng)下。(3)mysql有一個(gè)非常靈活而且
24、安全的權(quán)限和口令系統(tǒng)。當(dāng)客戶與mysql服務(wù)器連接時(shí),他們之間所有的口令傳送被加密,而且mysql支持主機(jī)認(rèn)證。(4)mysql支持ODBC for Windows。mysql支持所有的ODBC 2.5函數(shù)和其他許多函數(shù),這樣就可以用Access連接mysql服務(wù)器,從而使得mysql的應(yīng)用被大大擴(kuò)展。(5)mysql支持大型的數(shù)據(jù)庫。雖然對于用PHP編寫的網(wǎng)頁來說只要能夠存放上百條以上的記錄數(shù)據(jù)就足夠了,但mysql可以方便地支持上千萬條記錄的數(shù)據(jù)庫。作為一個(gè)開放源代碼的數(shù)據(jù)庫,mysql可以針對不同的應(yīng)用進(jìn)行相應(yīng)的修改。(6)mysql擁有一個(gè)非??焖俣曳€(wěn)定的基于線程的內(nèi)存分配系統(tǒng),可以
25、持續(xù)使用面不必?fù)?dān)心其穩(wěn)定性。事實(shí)上,mysql的穩(wěn)定性足以應(yīng)付一個(gè)超大規(guī)模的數(shù)據(jù)庫。(7)強(qiáng)大的查詢功能。mysql支持查詢的SELECT和WHERE語句的全部運(yùn)算符和函數(shù),并且可以在同一查詢中混用來自不同數(shù)據(jù)庫的表,從而使得查詢變得快捷和方便。(8)PHP為mysql提供了強(qiáng)力支持,PHP中提供了一整套的mysql函數(shù),對mysql進(jìn)行了全方位的支持。4.2系統(tǒng)環(huán)境的搭建4.2.1 安裝配置php (1)解壓縮PHP壓縮包到D:PHP(這個(gè)路徑可以隨意,不過以下要是用到這個(gè)路徑,請相應(yīng)的修改)。(2)復(fù)制D:PHP目錄下的php4ts.dll及D:PHPdlls目錄下的所有文件到window
26、s的系統(tǒng)文件夾里,文件夾視Windows版本的不同而不同我用的是Windows XP則為c:windowssystem32其中C:為你現(xiàn)在所使用的操作系統(tǒng)的系統(tǒng)盤,如果你目前操作系統(tǒng)不是安裝在C:windows下,請相應(yīng)做出修改。復(fù)制php.ini-dist到C:windows下,并將其改名為php.ini。用記事本打開,修改一下信息:搜索extension_dir = ./ 這行,并將其路徑指到你的PHP目錄下的extensions目錄,比如:extension_dir = D:PHPextensions4.2.2 安裝配置apache我們下載到的for win32的是一個(gè)Msi安裝文件,直
27、接雙擊它后就會自動執(zhí)行Apache的安裝了,按照提示安裝即可,其中要書寫的東西按照你的喜好填寫,沒甚么影響,當(dāng)然,目錄我還是建議你和PHP的目錄以致,選擇D:目錄,這樣安裝后可以看到D:Apache了。裝完后會在桌面右下角系統(tǒng)托盤里顯示apache的圖標(biāo),雙擊可以打開Apache的控制面板,可以停止或者重起服務(wù)器。這里要做的是對D:Apacheconfhttpd.conf這個(gè)文件進(jìn)行修改,用記事本打開:找到: AddType application/x-tar .tgz在下面添加以下兩行: AddType application/x-httpd-php .phpAddType image/x-
28、icon .ico找到: #LoadModule ssl_module modules/mod_ssl.so在下面添加二行:PHPIniDir "ROOT/php"LoadModule php5_module "ROOT/php/php5apache2_2.dll"增加默認(rèn)文件:找到DirectoryIndex * 這行,可以這樣修改,添加默認(rèn)的文件名: DirectoryIndex index.php default.php index.htm index.html default.htm default.html保存文件,重起apache服務(wù)器。4.
29、2.3 安裝配置mysqlMysql相對來說是比較獨(dú)立的,這個(gè)數(shù)據(jù)庫很小,不能直接對它進(jìn)行操作,不像access或者SQL2000那么直觀,不過目前已經(jīng)有很多軟件可以很好的操作它的,比如phpMyAdmin,SQLyogEnt。這些軟件可以到 上面下載獲得。下載獲得Mysql的for win32安裝包后,用winzip打開,直接運(yùn)行setup.exe,需要注意的是選擇一個(gè)安裝路徑,當(dāng)然,安裝路徑可以任意,不過我建議將它和PHP安裝在一起,選擇D:MySQL目錄。安裝完成后MySQL也就完成了。至于設(shè)置用戶和密碼,可以使用上面提到的兩個(gè)軟件進(jìn)行管理。這里不繼續(xù)描述,默認(rèn)的用戶名是root,密碼為
30、空。一般裝完MySQL后會自動啟動服務(wù),如果沒有啟動的話,請運(yùn)行D:MySQLbinmysqld-nt.exe4.2.4 安裝subversion以及建立版本庫安裝subversion主要包括服務(wù)器端的安裝和客戶端的安裝。圖3 服務(wù)器安裝圖4 客戶端安裝圖5 建立版本庫的過程4.2.5 subversion服務(wù)器配置由于本系統(tǒng)是采取的的基于Apache的認(rèn)證方式,所以需要進(jìn)行一些配置,如下:在http.conf文件中配置如下內(nèi)容:<IfModule ssl_module>SSLRandomSeed startup builtinSSLRandomSeed connect built
31、in</IfModule>PHPIniDir "ROOT/php"LoadModule php5_module "ROOT/php/php5apache2_2.dll"AddType application/x-httpd-php .phpLoadModule mysql_auth_module modules/mod_auth_mysql.soLoadModule dav_module modules/mod_dav.soLoadModule dav_fs_module modules/mod_dav_fs.soLoadModule dav
32、_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so<Location /svn> AuthMySQLEnable on AuthMySQLAuthoritative on AuthName "MySQL auth" AuthType Basic AuthMySQLHost localhost AuthMySQLDB svn_usr AuthMySQLUser svn_db AuthMySQLPassword 1234 AuthMySQLUse
33、rTable users AuthMySQLPwEncryption none require valid-user require valid-user DAV svn#指向SVN Repository的ROOTSVNPath ROOT/svnrepo</Location>以上就是本系統(tǒng)的環(huán)境建立及配置過程。5模塊功能的詳細(xì)實(shí)現(xiàn)過程5.1本系統(tǒng)使用的subversion權(quán)限機(jī)制Apache的HTTP服務(wù)器是一個(gè)Subversion可以利用的“重型”網(wǎng)絡(luò)服務(wù)器,通過一個(gè)自定義模塊,httpd可以讓Subversion版本庫通過WebDAV/DeltaV協(xié)議在客戶端前可見,WebDA
34、V/DeltaV協(xié)議是HTTP 1.1的擴(kuò)展。這個(gè)協(xié)議利用了無處不在的HTTP協(xié)議是廣域網(wǎng)的核心這一點(diǎn),添加了寫能力更明確一點(diǎn),版本化的寫能力。結(jié)果就是這樣一個(gè)標(biāo)準(zhǔn)化的健壯的系統(tǒng),作為Apache軟件的一部分打包,被許多操作系統(tǒng)和第三方產(chǎn)品支持,網(wǎng)絡(luò)管理員也不需要打開另一個(gè)自定義端口。這樣一個(gè)Apache-Subversion服務(wù)器具備了許多svnserve沒有的特性,但是也有一點(diǎn)難于配置,靈活通常會帶來復(fù)雜性。為了讓你的版本庫使用HTTP網(wǎng)絡(luò),你基本上需要兩個(gè)包里的四個(gè)部分。你需要Apache httpd 2.0和包括的mod_dav DAV模塊,Subversion和與之一同分發(fā)的mod_
35、dav_svn文件系統(tǒng)提供者模塊,如果你有了這些組件,網(wǎng)絡(luò)化你的版本庫將非常簡單,如:配置好httpd 2.0,并且使用mod_dav啟動,為mod_dav安裝mod_dav_svn插件,它會使用Subversion的庫訪問版本庫,并且配置你的httpd.conf來輸出(或者說暴露)版本庫。你可以通過從源代碼編譯httpd和Subversion來完成前兩個(gè)項(xiàng)目,也可以通過你的系統(tǒng)上的已經(jīng)編譯好的二進(jìn)制包來安裝。最新的使用Apache HTTP的Subversion的編譯方法和Apache的配置方式可以看Subversion源代碼樹根目錄的INSTALL文件。在Subversion的服務(wù)器端,它
36、的最大的獨(dú)特之處,在于它可以通過一個(gè)擴(kuò)展模塊與 Apache 的 HTTP 服務(wù)器相結(jié)合,實(shí)現(xiàn)很多高級的管理功能和安全特性。與 CVS 相比,Subversion 實(shí)現(xiàn)了更加先進(jìn)和安全的用戶認(rèn)證功能。在 Apache 的支持下,用戶可以通過 HTTP 協(xié)議訪問版本庫,管理員可以對用戶訪問 HTTP 的權(quán)限做出具體的設(shè)置,同時(shí) Subversion 還可以獲得 SSL 傳輸加密,用戶數(shù)據(jù)加密,以及目錄級的訪問控制等特性。而本系統(tǒng)正是基于此,使用mysql數(shù)據(jù)庫的users表中內(nèi)容作為用戶登錄的認(rèn)證。使用authz文件作為權(quán)限控制文件。5.2數(shù)據(jù)流程圖開始修改信息用戶注冊未注冊用戶是否注冊已注冊用
37、戶 否 是Pre_reg_user表user表結(jié)束圖形注釋:數(shù)據(jù)庫 :功能:單向數(shù)據(jù)流動 :雙向數(shù)據(jù)流動圖6 用戶注冊數(shù)據(jù)流程圖開始分配用戶組權(quán)限審核注冊用戶Test2表user表subversion權(quán)限配置文件同步結(jié)束圖形注釋:數(shù)據(jù)文件:數(shù)據(jù)庫 :功能:單向數(shù)據(jù)流動 :雙向數(shù)據(jù)流動圖7 管理員管理數(shù)據(jù)流程圖5.3數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)5.4數(shù)據(jù)庫操作5.5生成subversion權(quán)限配置文件時(shí)對文件的操作$filename = 'configauthz' $somecontent = $test;/ 首先我們要確定文件存在并且可寫。if (is_writable($filename) / 那就是當(dāng)我們使用fwrite()的時(shí)候,$somecontent將要寫入的地方。 if (!$handle = fopen($filename, 'a') echo "不能打開文件 $filename" exit; / 將$somecontent寫入到我們打開的文件中。 if (fwrite($handle, $somecontent) = FALSE) echo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《信息檢索與利用》2023-2024學(xué)年第一學(xué)期期末試卷
- 常見精神癥狀的護(hù)理
- 石河子大學(xué)《土木工程概論》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《人力資源管理實(shí)訓(xùn)軟件》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《當(dāng)代世界社會主義》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《先進(jìn)制造技術(shù)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《汽車檢測與診斷技術(shù)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《集成電路的應(yīng)用電路》2023-2024學(xué)年期末試卷
- 沈陽理工大學(xué)《工程制圖》2021-2022學(xué)年第一學(xué)期期末試卷
- 光伏組件維修合同范本
- 企業(yè)管理資料范本-車輛管理檔案(一車一檔)
- 高速公路常見邊坡防護(hù)類型及施工要點(diǎn)課件
- 臨床實(shí)效研究設(shè)計(jì)
- 棚戶區(qū)改造入戶調(diào)查表
- 招商銀行智慧營銷體系規(guī)劃方案((2022年-2023年)-2022)
- 口腔科住院醫(yī)師考試:2022牙周病學(xué)真題模擬及答案
- 主語從句詳解課件
- 慢性傷口的綜合處理課件
- 《人民幣硬幣和普通紀(jì)念幣》理論考試題庫(含答案)
- RoseMirrorHA安裝維護(hù)手冊
- 城市軌道交通牽引供電及電力技術(shù)分析
評論
0/150
提交評論