实现svn用户客户端自助修改密码。

说明:
最近有一个小需求,需要在svn服务端做有一个修改密码网页可以通过用户手动去修改本用户的密码,而不是需要管理员登录到服务器去修改密码,这样比较麻烦而且不安全。网上找了很多资料,大多是通过PHP实现的,但是都有坑,在掌握了svn用户加解密原理后,决定自己写一个小页面。

一.首先svn加密原理:

这个是svn用来存放用户密码的目录htpasswd文件
其中有两个用户
其中:jiangzl:apr1apr1kFmw97MJ$rQnpkCqPwGndtYcmtIM9E1 表示的意思是

 1.jiangzl是对应的svn用户名。
 2.$apr1$kFmw97MJ$rQnpkCqPwGndtYcmtIM9E1是加密后的密文,
	svn使用的htpasswd加密原理是通过openssl的apr1对称加密方式进行加密;
	对应的命令是:
	   openssl passwd -apr1 -salt  kFmw97MJ mypassword										#mypassword就是当前密码
 3.所以$apr1$kFmw97MJ$rQnpkCqPwGndtYcmtIM9E1该密文是通过$符号为分割符进行命令的拼接方式进行加密的。
	 而修改svn用户密码的命令为:
		htpasswd.exe -b htpasswd username password 													

掌握了svn加密和解密的方法后就可以实现用户验证和用户修改密码等功能了。

二.环境部署准备:
1.安装下载和安装visualsvn:
我使用的是visualsvn3.9.5 64位的版本:

在这里插入图片描述
在这里插入图片描述
我的svn服务器本地安装路径地址为:
E:\visualsvn
我的版本库存放路径为;
E:\Repositories
svn安装完毕后。
1.下载htpasswd.exe工具
https://pan.baidu.com/s/1KW143ILrZLC4jAn8QaPtqw 提取码:efz0
下载完毕后将该文件放入svn服务器本地安装路径地址内: E:\visualsvn\bin目录下.
在这里插入图片描述2.将E:\visualsvn\bin\openssl.exe即安装的svn目录下的openssl.exe设置为环境变量,在任何目录都可以运行
设置为环境变量后能够在任何目录运行,表示已经安装完毕。
3.安装python 2.7运行环境和pip 19.0.3和django 1.11版本的运行环境
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装步骤不再详细说明可以参考下面几个博客:
https://blog.csdn.net/u012643122/article/details/80573082
安装步骤不变,注意更换版本即可。

4.下载svn密码修改页面文件。
https://pan.baidu.com/s/1SL0nOGC9ZXz2mzCy83wEPA 提取码:18bh
解压后:
在这里插入图片描述
在svnchangepassword\svnchangepassword\settings.py 目录下修改该文件settings.py的该文件:

在这里插入图片描述
5.在django项目下svnchangepassword目录下执行以下命令: 192.168.1.121 为本地IP,8090是页面访问地址。
在这里插入图片描述
表示已经运行成功:
打开浏览器访问:http://192.168.1.121:8090/users/changepassword/ 表示已经部署成功:
在这里插入图片描述
在这里插入图片描述

版权声明:本文为weixin_43461949原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43461949/article/details/89413795