爲VisualSVN Server增長在線修改用戶密碼的功能

原文: 爲VisualSVN Server增長在線修改用戶密碼的功能

 附件下載:點擊下載html

VisualSVN Server是一個很是不錯的SVN Server程序,方便,直觀,用戶管理也異常方便。算法

不過,它自己並無提供在線修改密碼的功能。因爲在實際使用過程當中,一旦SVN的用戶比較多,只單單依靠windows的管理控制檯去修改密碼 顯然是不太合適的。windows

總不能任何人想改個密碼還要經過管理員吧?因此,就想爲其增長在線修改密碼的功能。瀏覽器

說實話,網上已經有了能夠在線修改密碼的方法。試用過,也的確能夠。不過一直苦於不知道svn密碼的加密算法,也不太會調用dllsvn實際上是使用的httpd的加密庫),不事後來機會來了,一不留神看了一下libapr-util的源碼,呵呵,發現原來svn使用的加密算法也不太複雜嗎(呵呵,其實蠻複雜的,可是用程序來實現貌似還不算難)。索性就弄了個,還挺好用^_^svn

先將寫好的程序放上來吧,稍候再把源碼貼出來(嘿嘿,先賣賣關子)post

一、首先把同文件夾裏面的內容copyVisual SVN Server的安裝目錄下覆蓋掉同名的文件夾ui

接着,修改conf目錄下的httpd-custom.conf文件, 把「ScriptAlias」一行後面的路徑修改成你的機器上的VisualSVN Server的實際路徑:加密

 

而後,修改cgi-bin目錄下的svnpass.ini文件:url

 

這是一個配置文件,用來控制修改密碼的程序的。簡單解釋一下:spa

 1: [PATH]

 2: #下面這行用於指定svn的密碼文件

 3: pwdFilePath=htpasswd

 4:  

 5: [ERRCODE]

 6: #下面這些行用來指定當出現相應錯誤時的用戶提示

 7: UnKnownErr=Unknown error

 8: NoSuchUser=No Such User

 9: IncorectOldPwd=Incorect old password

 10: NewPwdNotMatch=New password not match

 11: UserNameTooShort=Username is too short to go

 12: UserNameTooLong=Username is too long to go

 13: PwdTooShort=the Password is too short to go

 14: PwdTooLong=the Password is too long to go

 15:  

 16: [RULES]

 17: # 下面這幾行用於控制用戶名的最小和最大長度,以及密碼的最小和最大長度

 18: MinUserNameLen=1

 19: MaxUserNameLen=20

 20: MinPwdLen=1

 21: MaxPwdLen=30

根據須要修改完畢以後(通常只須要修改pwdFilePath便可),重啓VisualSVN Server。打開瀏覽器,會發現svn的界面有點不太同樣了:

 

點擊左上角的修改密碼,便可在網頁的最上部彈出一個修改密碼的表單:

 

輸入密碼信息以後,點擊確認修改,便可實現密碼修改功能。若是信息有誤,則會提示相應的信息:

 

這些提示信息都是在ini文件裏定義的。

相關文章
相關標籤/搜索