说明:
最近有一个小需求,须要在svn服务端作有一个修改密码网页能够经过用户手动去修改本用户的密码,而不是须要管理员登陆到服务器去修改密码,这样比较麻烦并且不安全。网上找了不少资料,大可能是经过PHP实现的,可是都有坑,在掌握了svn用户加解密原理后,决定本身写一个小页面。html
一.首先svn加密原理:python
其中:jiangzl:a
p
r
1
apr1apr1kFmw97MJ$rQnpkCqPwGndtYcmtIM9E1 表示的意思是web
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加密和解密的方法后就能够实现用户验证和用户修改密码等功能了。django
二.环境部署准备:
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/ 表示已经部署成功:
app