專利名稱:Subversion用戶密碼在線自助管理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件開發(fā)應(yīng)用領(lǐng)域,特別是涉及一種Subversion用戶密碼在線自助管理方法和系統(tǒng)。
背景技術(shù):
作為新一代的開源版本控制工具,Subversion,簡稱SVN,以其目錄版本化、原子提交、版本化的元數(shù)據(jù)、更加有效的分支和標(biāo)簽等優(yōu)良特性,目前已成為應(yīng)用最廣泛的開源版本控制軟件,越來越多的開發(fā)者使用SVN進(jìn)行代碼和文件的管理和控制。相對于傳統(tǒng)的版本控制軟件,SVN具有諸多的優(yōu)勢。SVN最大的獨(dú)特之處,在于它可以通過一個擴(kuò)展模塊與Apache的HTTP服務(wù)器相結(jié)合,實(shí)現(xiàn)很多高級的管理功能和安全 特性。在Apache的支持下,用戶可以通過HTTP協(xié)議訪問版本庫,同時SVN還可以獲得SSL傳輸加密,用戶數(shù)據(jù)加密,以及目錄級的訪問控制等特性。因此,目前SVN最主流的部署方式就是和Apache進(jìn)行集成部署。對于軟件開發(fā)團(tuán)隊來說,源代碼及相關(guān)資料對保密性的要求都很高,因此,團(tuán)隊中每個人員的SVN用戶密碼信息是非常重要的私密信息。但目前SVN客戶端軟件不支持用戶對自己密碼的管理,所有用戶密碼的設(shè)置、修改等都需通過管理員在后臺配置。這樣就可能帶來如下問題
1.管理員工作量大,容易配置出錯;
2.所有密碼信息都由管理員掌握,不利于用戶個人隱私保護(hù);
3.保密信息泄露幾率增大。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種Subversion用戶密碼在線自助管理方法和系統(tǒng),能夠?qū)崿F(xiàn)SVN用戶對各自密碼的自助管理。為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方式如下
一種Subversion用戶密碼在線自助管理方法,其特征在于包括以下步驟
步驟I :定義用戶密碼自助管理服務(wù)端邏輯;
步驟2 :編寫支持多種操作系統(tǒng)的服務(wù)腳本;
步驟3 :部署步驟2中編寫的服務(wù)腳本并通過Apache配置發(fā)布用戶密碼自助管理地
址;
步驟4 :服務(wù)端獲取用戶輸入的與步驟I中所定義的所述服務(wù)端邏輯相符的新密碼,通過調(diào)用步驟3中所部署的服務(wù)腳本完成對Subversion用戶密碼配置文件的修改。前述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟I所述的服務(wù)端邏輯為用戶自助修改密碼過程中涉及到的邏輯判斷,包括用戶輸入新密碼是否滿足安全要求、用戶是否輸入新密碼、用戶是否重新輸入了新密碼、兩次輸入是否一致、新密碼是否和原密碼相同。前述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟2所述的服務(wù)腳本是在多種操作系統(tǒng)下的跨平臺腳本,不同平臺下相同代碼各自編譯。前述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟2所述的多種操作系統(tǒng)至少包含Linux、Windows、Unix操作系統(tǒng)中的一種或幾種。前述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟2所述的服務(wù)腳本的內(nèi)容包括
用戶密碼自助管理服務(wù)端邏輯的實(shí)現(xiàn);
定義Subversion用戶密碼配置文件;
定義Subversion密碼修改命令路徑。前述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟3所述的服務(wù)·腳本部署在Subversion服務(wù)器上,所述服務(wù)腳本和Subversion用戶密碼配置文件位于同一機(jī)器。前述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟3所述的Apache配置,在Apache配置文件httpd. conf中通過alias命令配置用戶訪問地址,并配置Require valid-user及AuthUserFile選項,要求用戶在訪問密碼自助管理頁面之前必須先輸入驗(yàn)證信息,只有驗(yàn)證信息和Subversion用戶密碼配置文件匹配的情況下,用戶才可以通過驗(yàn)證修改自己的賬號密碼。前述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟4中是通過調(diào)用服務(wù)腳本中的系統(tǒng)Subversion密碼修改命令完成對Subversion用戶密碼配置文件的修改。一種Subversion用戶密碼在線自助管理系統(tǒng),包括以下模塊
模塊I :用于定義用戶密碼的自助管理服務(wù)端邏輯模塊;
模塊2 :用于編寫支持多種操作系統(tǒng)的服務(wù)腳本模塊;
模塊3 :用于部署模塊2的服務(wù)腳本并通過Apache配置發(fā)布用戶密碼自助管理地址模
塊;
模塊4 :用于將服務(wù)端獲取用戶輸入的與模塊I中所定義的所述服務(wù)端邏輯相符的新密碼的模塊,通過模塊3中部署的服務(wù)腳本的系統(tǒng)調(diào)用修改SVN配置文件完成密碼修改。本發(fā)明的有益效果是本發(fā)明采用目前流行的B/S架構(gòu)模式,具有異地瀏覽和信息采集的靈活性。并采用成熟的Apache網(wǎng)絡(luò)服務(wù)器進(jìn)行部署,具有很高的靈活性和穩(wěn)定性;現(xiàn)了 SVN用戶對各自密碼的自主管理,減輕管理員的工作量,減小其出錯概率,同時有效保護(hù)SVN用戶信息的隱私,提高了團(tuán)隊信息安全性。
圖I是本發(fā)明的流程示意 圖2是SVN用戶使用本發(fā)明的示意圖。
具體實(shí)施例方式下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。以下實(shí)施案例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。如圖I和圖2所示,本發(fā)明實(shí)現(xiàn)Subversion用戶密碼在線自助管理方法包括如下步驟
步驟I:定義用戶自助密碼管理服務(wù)端邏輯
服務(wù)端邏輯為用戶自助修改密碼過程中涉及到的邏輯判斷,包括有
用戶輸入新密碼是否滿足安全要求;
用戶沒有輸入新密碼;
用戶沒有重復(fù)輸入新密碼;
兩次輸入是否一致;及 新密碼是否和原密碼相同。
步驟2 :編寫支持多種操作系統(tǒng)的后臺邏輯腳本
后臺邏輯腳本包含步驟I定義的邏輯實(shí)現(xiàn)以及SVN用戶密碼配置文件及SVN密碼修改命令路徑。主要代碼如下
(1)腳本參數(shù)定義 Susername//經(jīng)過認(rèn)證的用戶名;
$authed_pass//經(jīng)過認(rèn)證的密碼;
Snewpass//用戶輸入新密碼;
Srepeatpass//用戶輸入的重復(fù)密碼;
$passwdfile//SVN用戶密碼配置文件路徑;
$command//SVN密碼修改命令路徑;
(2)邏輯實(shí)現(xiàn)
//密碼沒有重復(fù)輸入密碼 if (repeatpass==〃 〃){ alert (〃請重復(fù)輸入密碼! 〃); return false;
}
//用戶兩次輸入密碼不一致
if (newpass!=repeatpass) {
alert (〃兩次輸入密碼不一致,請重新輸入! 〃);
return false;
}
其中,服務(wù)腳本是在多種操作系統(tǒng)下的跨平臺腳本,不同平臺下相同代碼各自編譯,操作系統(tǒng)至少包含Linux、Windows、Unix操作系統(tǒng)中的一種或幾種。步驟3 :部署步驟2中的編寫的后臺腳本并通過Apache配置發(fā)布用戶密碼自助管理地址,其中服務(wù)腳本部署在Subversion服務(wù)器上,服務(wù)腳本和Subversion用戶密碼配置文件位于同一機(jī)器。在Apache配置文件httpd. conf中配置通過alias命令配置用戶訪問地址,配置Require valid-user選項、并配置相應(yīng)的AuthUserFile選項配置為SVN用戶密碼配置文件,要求用戶在訪問密碼自助管理頁面之前必須先輸入驗(yàn)證信息,只有和SVN用戶密碼配置文件匹配,通過驗(yàn)證的用戶才可以修改自己的賬號密碼。主要配置代碼如下 alias /svnpasswd / 服務(wù) php 腳本路徑 〈Directory 〃/服務(wù)php腳本所在目錄〃>
Require valid-userAuthType Basic
AuthName "Subversion Password Administration"
AuthUserFile /SVN用戶密碼配置文件 〈/Directory〉
步驟4 :服務(wù)端獲取用戶輸入的邏輯無誤新密碼,通過系統(tǒng)調(diào)用修改SVN配置文件完成密碼修改,并在用戶界面返回提示。
SVN用戶通過瀏覽器登錄http: //SVN服務(wù)器IP/svnpasswd即可認(rèn)證、修改自己的賬戶密碼,服務(wù)端接收到用戶輸入新密碼信息后,判斷其是否符合步驟I所述邏輯,若邏輯無誤,則調(diào)用SystemO函數(shù)進(jìn)行調(diào)用系統(tǒng)SVN密碼修改命令$command修改SVN用戶密碼配置文件$passwdfile,并向用戶頁面返回修改成功信息。修改完畢后,SVN用戶即可使用自己修改新密碼通過各類SVN客戶端軟件訪問SVN服務(wù)器使用SVN各項功能。本發(fā)明還提供了一種Subversion用戶密碼在線自助管理系統(tǒng),包括以下模塊 模塊I :用于定義用戶密碼的自助管理服務(wù)端邏輯模塊;
模塊2 :用于編寫支持多種操作系統(tǒng)的服務(wù)腳本模塊;
模塊3 :用于部署模塊2的服務(wù)腳本并通過Apache配置發(fā)布用戶密碼自助管理地址模
塊;
模塊4 :用于將服務(wù)端獲取用戶輸入的與模塊I中所定義的所述服務(wù)端邏輯相符的新密碼的模塊,通過模塊3中部署的服務(wù)腳本的系統(tǒng)調(diào)用修改SVN配置文件完成密碼修改。綜上所述,本發(fā)明提供的一種Subversion用戶密碼在線自助管理方法和系統(tǒng),能夠?qū)崿F(xiàn)SVN用戶對各自密碼的自助管理。以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,盡管參照上述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,所述領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明的具體實(shí)施方式
進(jìn)行修改或者同等替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種Subversion用戶密碼在線自助管理方法,其特征在于包括以下步驟 步驟I :定義用戶密碼自助管理服務(wù)端邏輯; 步驟2 :編寫支持多種操作系統(tǒng)的服務(wù)腳本; 步驟3 :部署步驟2中編寫的服務(wù)腳本并通過Apache配置發(fā)布用戶密碼自助管理地址; 步驟4 :服務(wù)端獲取用戶輸入的與步驟I中所定義的所述服務(wù)端邏輯相符的新密碼,通過調(diào)用步驟3中所部署的服務(wù)腳本完成對Subversion用戶密碼配置文件的修改。
2.根據(jù)權(quán)利要求I所述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟I所述的服務(wù)端邏輯為用戶自助修改密碼過程中涉及到的邏輯判斷,包括用戶輸入新密碼是否滿足安全要求、用戶是否輸入新密碼、用戶是否重新輸入了新密碼、兩次輸入是否一致、新密碼是否和原密碼相同。
3.根據(jù)權(quán)利要求I或2所述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟2所述的服務(wù)腳本是在多種操作系統(tǒng)下的跨平臺腳本,不同平臺下相同代碼各自編譯。
4.根據(jù)權(quán)利要求3所述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟2所述的多種操作系統(tǒng)至少包含Linux、Windows、Unix操作系統(tǒng)中的一種或幾種。
5.根據(jù)權(quán)利要求4所述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟2所述的服務(wù)腳本的內(nèi)容包括 用戶密碼自助管理服務(wù)端邏輯的實(shí)現(xiàn); 定義Subversion用戶密碼配置文件; 定義Subversion密碼修改命令。
6.根據(jù)權(quán)利要求5所述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟3所述的服務(wù)腳本部署在Subversion服務(wù)器上,所述服務(wù)腳本和Subversion用戶密碼配置文件位于同一機(jī)器。
7.根據(jù)權(quán)利要求I所述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟3所述的Apache配置,在Apache配置文件httpd. conf中通過alias命令配置用戶訪問地址,并配置Require valid-user及AuthUserFile選項,要求用戶在訪問密碼自助管理頁面之前必須先輸入驗(yàn)證信息,只有驗(yàn)證信息和Subversion用戶密碼配置文件匹配的情況下,用戶才可以通過驗(yàn)證修改自己的賬號密碼。
8.根據(jù)權(quán)利要求7所述的Subversion用戶密碼在線自助管理方法,其特征在于,步驟4中是通過調(diào)用服務(wù)腳本中的系統(tǒng)Subversion密碼修改命令完成對Subversion用戶密碼配置文件的修改。
9.一種Subversion用戶密碼在線自助管理系統(tǒng),包括以下模塊 模塊I :用于定義用戶密碼的自助管理服務(wù)端邏輯模塊; 模塊2 :用于編寫支持多種操作系統(tǒng)的服務(wù)腳本模塊; 模塊3 :用于部署模塊2的服務(wù)腳本并通過Apache配置發(fā)布用戶密碼自助管理地址模塊; 模塊4 :用于將服務(wù)端獲取用戶輸入的與模塊I中所定義的所述服務(wù)端邏輯相符的新密碼的模塊,通過模塊3中部署的服務(wù)腳本的系統(tǒng)調(diào)用修改SVN配置文件完成密碼修改。
全文摘要
本發(fā)明公開了一種Subversion用戶密碼在線自助管理方法和系統(tǒng),該方法包括如下步驟步驟1定義用戶密碼自助管理服務(wù)端邏輯;步驟2編寫支持多種操作系統(tǒng)的服務(wù)腳本;步驟3部署步驟2中編寫的所述服務(wù)腳本并通過Apache配置發(fā)布用戶密碼自助管理地址;步驟4服務(wù)端獲取用戶輸入的與步驟1中所定義的所述服務(wù)端邏輯相符的新密碼,通過調(diào)用步驟3中所部署的服務(wù)腳本完成對Subversion用戶密碼配置文件的修改。本發(fā)明彌補(bǔ)了目前SVN客戶端不能自助管理密碼的不足,有效保護(hù)了用戶隱私,降低了保密信息泄露風(fēng)險。
文檔編號G06F21/31GK102945337SQ201210488900
公開日2013年2月27日 申請日期2012年11月27日 優(yōu)先權(quán)日2012年11月27日
發(fā)明者陳穎峰, 張昆, 劉鵬宇, 朱微維, 崔偉, 李巖, 黃真 申請人:國電南瑞科技股份有限公司