Visual SVN 2.1.3ユーザー変更パスワード機能を追加します。


Visual SVN Serverは非常に良いSVN Serverプログラムで、便利で、直感的で、ユーザー管理も非常に便利です。しかし、それ自体はオンラインでパスワードを変更する機能を提供していません。実際の使用過程では、いったんSVNのユーザーが多くなると、windowsの管理コンソールだけに頼ってパスワードを変更するのは明らかに不適切である。誰もパスワードを変更したいと思ってはいけません。管理人を通してください。だから、オンラインでパスワードを変更する機能を追加したいです。
正直に言うと、ネット上でパスワードをオンラインで変更する方法があります。試してみてもいいです。でも、この人はいいことを言っています。勉強が好きで、難しいことを言っています。だから、自分でパスワードをオンラインで変更するプログラムを書きたいです。svnパスワードを知らない暗号化アルゴリズムに苦労していますが、dll(svnは実はhttpdの暗号化ライブラリを使っています。)もあまり起動できないので、最初は我慢できなくなりました。
でもチャンスが来ました。うっかりlibapr-utilのソースコードを見ました。ほほほ、svnが使っている暗号化アルゴリズムも複雑ではないことを発見しましたか?いっそのこと作ってもいいですね。
先に書いたプログラムを上げてください。後でソースを貼り付けます。
まず、下のリンクをクリックして、オンラインでパスワードを変更するために必要なファイルをダウンロードします。
 
Visual SVN Serverはオンラインパスワードを変更して使うファイルポイントをダウンロードします。
 
そして、解凍後、中身のcopyをVisual SVN Serverのインストールディレクトリに上書きします。
次に、confディレクトリのhttp-custom.com nfファイルを修正し、「Script Alias」の一行の後のパスをあなたのマシンのVisual SVN Serverの実際のパスに修正します。
次に、cgi-binディレクトリのsvnpass.iniファイルを修正する。
これはパスワードを変更するプログラムを制御するための設定ファイルです。簡単に説明します。
   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を変更するだけでいいです)、Visual SVN Serverを再開します。ブラウザを開くと、svnのインターフェースはちょっと違っています。
左上の「パスワードの変更」をクリックすると、ページの最上部にパスワードを変更するフォームが表示されます。
パスワード情報を入力したら、「変更の確認」をクリックしてパスワード変更機能を実現します。情報に誤りがあれば、その情報を提示します。
これらのヒント情報はすべてiniファイルで定義されています。
 
OK、just enjoyit~   ^_^
転載元:http://www.mculee.cn/post/69.html