为VisualSVN Server增加在线修改用户密码的功能

原文:为VisualSVN Server增加在线修改用户密码的功能

 附件下载:点击下载

VisualSVN Server是一个非常不错的SVN Server程序,方便,直观,用户管理也异常方便。

不过,它本身并没有提供在线修改密码的功能。由于在实际使用过程中,一旦SVN的用户比较多,只单单依靠windows的管理控制台去修改密码 显然是不太合适的。

总不能任何人想改个密码还要通过管理员吧?所以,就想为其增加在线修改密码的功能。

说实话,网上已经有了可以在线修改密码的方法。试用过,也的确可以。不过一直苦于不知道svn密码的加密算法,也不太会调用dll(svn其实是使用的httpd的加密库),不过后来机会来了,一不留神看了一下libapr-util的源码,呵呵,发现原来svn使用的加密算法也不太复杂吗(呵呵,其实蛮复杂的,但是用程序来实现貌似还不算难)。索性就弄了个,还挺好用^_^

先将写好的程序放上来吧,稍候再把源码贴出来(嘿嘿,先卖卖关子)

1、首先把同文件夹里面的内容copy到Visual SVN Server的安装目录下覆盖掉同名的文件夹

接着,修改conf目录下的httpd-custom.conf文件, 把“ScriptAlias”一行后面的路径修改为你的机器上的VisualSVN 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即可),重启VisualSVN Server。打开浏览器,会发现svn的界面有点不太一样了:

 

点击左上角的“修改密码”,即可在网页的最上部弹出一个修改密码的表单:

 

输入密码信息之后,点击“确认修改”,即可实现密码修改功能。如果信息有误,则会提示相应的信息:

 

这些提示信息都是在ini文件里定义的。

 

时间: 2024-08-29 06:02:34

为VisualSVN Server增加在线修改用户密码的功能的相关文章

java-JAVA客户信息保存在user数据表中,设计一个程序,实现修改用户密码的功能。

问题描述 JAVA客户信息保存在user数据表中,设计一个程序,实现修改用户密码的功能. 客户信息保存在user数据表中,设计一个程序,实现修改用户密码的功能. 解决方案 无非就是最简单的数据库读和改.看你用什么数据库搜索 java数据库增删改查 +你用的数据库就能找到现成的代码. 解决方案二: jdbc连接数据库,剩下的,自己学习java如何操作数据库,都是初学者该明白的东西 解决方案三: 首先是链接数据库,然后就是操作数据库,进行修改 解决方案四: 1,在Java中使用JDBC连接数据库co

MySQL 修改用户密码及重置root密码

    为数据库用户修改密码是DBA比较常见的工作之一.对于MySQL用户账户的密码修改,有几种不同的方式,推荐的方式使用加密函数来修改密码.本文主要描述了通过几种不同的方式来修改用户密码以及mysql root账户密码丢失(重置root密码)的处理方法.   1.密码修改的几种方法 a.可以在创建用户的时候指定密码,以及直接使用grant创建用户的时候指定密码. 对于已经存在的用户直接使用grant方式也可以修改密码 如下: --演示版本 root@localhost[(none)]> sho

PHP操作MSSQL存储过程修改用户密码

mssql2008 存储过程 下面可以直接远程修改密码.  代码如下 复制代码 USE [GameUserDB] GO IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'[dbo].[UpdateUserInfo]') and OBJECTPROPERTY(ID, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[UpdateUserInfo] GO CREATE PROCEDURE

net2.0如何修改用户密码的解决

解决 在net2.0里MemebershipUser类有个ChangePassword的方法,但是他有两个参数,旧密码和新密码,但是问题来了啊,我怎么知道用户的旧密码啊如果我做为管理员要修改用户密码的话,解决办法如下,先给用户ResetPassword代码: MembershipUser user = Membership.GetUser(txtFindUserName.Text.ToString().Trim());        user.UnlockUser();        strin

为什么修改用户密码,总数报error":"unauthorized

问题描述 请教各位,调用修改用户密码的api,总是报这个错误.下面是我的代码: DefaultHttpClient httpclient = new DefaultHttpClient(); httpclient=WebClientDevWrapper.wrapClient(httpclient); JSONObject jsonParam = new JSONObject(); HttpPut httpost = new HttpPut("https://a1.easemob.com/ease

asp.netC#操作AD修改用户密码的教程

背景 本文的标题是C#操作AD来修改用户密码,其实在微软的API中没有修改密码的方法(我理解的修改密码是需要输入旧密码进行验证),只有重置密码的方法.重置密码的代码大概如下: user.Invoke("SetPassword", new object[] { newPassword }); user.CommitChanges(); 本文主要来谈谈怎样在没有提供修改密码方法的前提下来进行密码的修改,主要是对旧密码的验证. 遇到的问题 C#验证一个AD账户的密码是否正确通常的方式是new

mongodb 修改用户密码 2种方法_MongoDB

1,错误做法,直接更新表 > db.system.users.update({"_id" : ObjectId("529e67553992b24438d5e315")},{"user":"tank2","readOnly" : false,"pwd":"123"}) > db.system.users.find(); { "_id" :

MySQL的用户密码过期功能详解

MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Card Industry,即支付卡行业,PCI行业表示借记卡.信用卡.预付卡.电子钱包.ATM和POS卡及相关的业务. PCI DSS,即PCI数据安全标准(Payment Card Industry Data Security Standard)是由PCI安全标准委员会制定,旨在使国际上采用一致的数

详解MySQL的用户密码过期功能_Mysql

Payment Card Industry,即支付卡行业,PCI行业表示借记卡.信用卡.预付卡.电子钱包.ATM和POS卡及相关的业务. PCI DSS,即PCI数据安全标准(Payment Card Industry Data Security Standard)是由PCI安全标准委员会制定,旨在使国际上采用一致的数据安全措施. PCI DSS标准要求用户每隔90天必须更改他们的密码.那么MySQL数据库该怎样适应这个情况?幸运的是,在MySQL版本5.6.6版本起,添加了password_e